我說的半夜, 並非真正的半夜, 指的是在我一我的的時候, 我會去思考一些奇怪的問題.html
要理解 hashCode() 須要理解下面三個點:htm
- hash契約
- 哈希衝突
- 哈希可變
第一點: hash 契約指的是兩個相等的對象, 必須具備相同的哈希碼 [ 逆命題不成立 ]對象
第二點: 哈希衝突指的是兩個不一樣的對象具備相同的 hash 值get
第三點: 哈希可變指的是 hashCode 並不保證在不一樣的應用中執行中獲得相同的結果博客
以上三點來自於這篇博客 [ 關於 hashCode() 你須要瞭解的 3 件事 ]hash
下面寫一個例子, 展現若是不重寫 hashCode() 方法會致使的問題, import
未完待續.方法