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