== 和 equals 的區別是什麼
"==" 對於基本類型來講是值比較,對於引用類型來講是比較的是引用;而 equals 默認狀況下是引用比較,只是不少類從新了 equals 方法,好比 String、Integer 等把它變成了值比較,因此通常狀況下 equals 比較的是值是否相等。spa
兩個對象的 hashCode()相同,則 equals()?
1. 若是兩個對象相等,則hashcode必定也是相同的 code
2. 兩個對象相等,對兩個對象分別調用equals方法都返回true 對象
3. 兩個對象有相同的hashcode值,它們也不必定是相等的 blog
另外,equals方法被覆蓋過,則hashCode方法也必須被覆蓋爲在散列表中,hashCode()相等即兩個鍵值對的哈希值相等,然而哈希值相等,並不必定能得出鍵值對相等。hash