首頁>科技>

不對,兩個物件的 hashCode()相同,equals()不一定 true。

程式碼示例:

String str1 = "通話";String str2 = "重地";System.out.println(String.format("str1:%d | str2:%d",  str1.hashCode(),str2.hashCode()));System.out.println(str1.equals(str2));

執行的結果:

str1:1179395 | str2:1179395

false

程式碼解讀:很顯然“通話”和“重地”的 hashCode() 相同,然而 equals() 則為 false,因為在散列表中,hashCode()相等即兩個鍵值對的雜湊值相等,然而雜湊值相等,並不一定能得出鍵值對相等。

7
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • MeChain節點執行狀態簡介