爲何重寫equals()的同時還得重寫hashCode()

  這個問題以前我也很好奇,不過最後仍是在書上獲得了比較明朗的解釋,固然這個問題主要是針對映射相關的操做(Map接口)。學過數據結構的同窗都知道Map接口的類會使用到鍵對象的哈希碼,當咱們調用put方法或者get方法對Map容器進行操做時,都是根據鍵對象的哈希碼來計算存儲位置的,所以若是咱們對哈希碼的獲取沒有相關保證,就可能會得不到預期的結果。在java中,咱們可使用hashCode()來獲取對象
相關文章
相關標籤/搜索