Java重寫equals,hashCode和散列關系

Java判定對象相同

equals方法是用來判斷兩個對象是否"相同":如果沒有進行重寫 那么默認默認情況下equals方法的實現就是比較兩個對象是否一樣。

boolean equals(Object obj){
  return this==obj;
}

但大多數的對象都重寫了equals方法,重寫的方法大多數比較兩個對象中的內容是否相同。

boolean equals(Object obj){
  if(obj instanceof Name){
       if(obj.name=this.name){
        return true;
       }else{
        return false;
       }
  }
 return false;
}

HashCode

代表對象的內存地址.

對象加入散列

一個對象加入散列時,首先會判斷它的hashCode是否一致,如果一致直接放入到散列中。如果hashCode不一致,會比較equals.如果equals不一致,也可以加入到散列。否則不能加入散列中。也就是說。要想安全的將一個對象放入散列,需要同時重寫hashCode和equals方法。并且中途不能修改他們的條件
https://juejin.im/post/5a7c5b285188257a5a4ca224

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容