Java判定對象相同
equals方法是用來判斷兩個對象是否"相同":如果沒有進(jìn)行重寫 那么默認(rèn)默認(rèn)情況下equals方法的實現(xiàn)就是比較兩個對象是否一樣嵌纲。
boolean equals(Object obj){
return this==obj;
}
但大多數(shù)的對象都重寫了equals方法沾瓦,重寫的方法大多數(shù)比較兩個對象中的內(nèi)容是否相同。
boolean equals(Object obj){
if(obj instanceof Name){
if(obj.name=this.name){
return true;
}else{
return false;
}
}
return false;
}
HashCode
代表對象的內(nèi)存地址.
對象加入散列
一個對象加入散列時蟹地,首先會判斷它的hashCode是否一致,如果一致直接放入到散列中藤为。如果hashCode不一致怪与,會比較equals.如果equals不一致,也可以加入到散列缅疟。否則不能加入散列中分别。也就是說。要想安全的將一個對象放入散列存淫,需要同時重寫hashCode和equals方法茎杂。并且中途不能修改他們的條件
https://juejin.im/post/5a7c5b285188257a5a4ca224