Effective Java 學習筆記 (六)
阿新 • • 發佈:2019-01-29
第八條改寫equals時總是要改寫hashCode
每個改寫了equals方法的類中,你必須也要改寫hashCode方法。 hashCode約定的內容: 1.在一個應用程式執行期間,如果一個物件的equals方法做比較所用到的資訊沒有被修改的話,則對該物件呼叫hashCode方法多次,它必須返回始終如一的同一個整數。 2.如果兩個物件根據equals(Object)方法是相等的,這兩個物件所產生的hashCode也相等。 3.如果兩個物件根據equals(Object)方法是不相等的,hashCode最好不等。 生成hashCode的處方: 1. 把某個非零常數值,儲存在一個叫result的int變數中。 2.