hashcode equals

 

1.equals默認比地址,可是會重寫用於比較值

1.1 equals 默認比較對象的地址html

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

1.2 通常會重寫對象的equal,比較對象的字段內容是否相等(兩個對象分別不爲空, 兩個對象的類型相同,自定義的多個屬性是否相等)this

2. == 比較地址

3. hashcode 單體對象無心義,集合對象有意義

將數據散列到某一個區間,提升查詢效率spa

4. hashcode & equals

若是equals() 用來比較該類的兩個對象是否相等。而hashCode() 則根本沒有任何做用,因此,不用理會hashCode()code

》》 若是兩個對象相等,那麼它們的hashCode()值必定相同。 因此重寫equals要重寫hashcodehtm

》》 若是兩個對象hashCode()相等,它們並不必定相等。 (散列在同一個區間)對象

 

摘自   http://www.javashuo.com/article/p-cpkvtyxf-es.htmlblog

相關文章
相關標籤/搜索