不對,兩個對象的 hashCode()相同,equals()不必定 true。spa
代碼示例:code
String str1 = "通話"; String str2 = "重地"; System.out.println(String.format("str1:%d | str2:%d", str1.hashCode(),str2.hashCode())); System.out.println(str1.equals(str2));
執行的結果:orm
str1:1179395 | str2:1179395對象
falseblog
代碼解讀:很顯然「通話」和「重地」的 hashCode() 相同,然而 equals() 卻爲 falsehash
由於在散列表中,hashCode()相等即兩個鍵值對的哈希值相等,然而哈希值相等,並不必定能得出鍵值對相等。form