不對,倆個對象的hashCode()相同,equals()不一定為true。
代碼示例:
1 String str1 = "通話"; 2 String str2 = "重地"; 3 System.out.println(String.format("str1:%d | str2:%d", str1.hashCode(),str2.hashCode())); 4 System.out.println(str1.equals(str2));
執行結果:
str1:1179395 | str2:1179395
false
代碼解讀:很顯然"通話"和"重的"的hashCode()相同,然而equals()則為true,因為在散列表中,hashCode()相等即倆個鍵值對的哈希值相等,然而哈希值相等,並不一定能得出鍵值對相等。
