hashcode是什么 hashCode相同,卻不相等?
hashCode相同,卻不相等?首先,hashcode是相同的,表示相同的內(nèi)存地址。Hashcode是一種根據(jù)對象屬性的定義來判斷對象是否相同的方法。如果hashcode相同,equal確定兩個對象相
hashCode相同,卻不相等?
首先,hashcode是相同的,表示相同的內(nèi)存地址。Hashcode是一種根據(jù)對象屬性的定義來判斷對象是否相同的方法。如果hashcode相同,equal確定兩個對象相同,即內(nèi)存地址相同。
如果兩個對象相同,那么它們的hashCode值一定要相同?
如果兩個對象具有相同的值(x.equals(y)==true),則它們必須具有相同的哈希代碼。Hash,一般翻譯為“Hash”,也直接音譯為“Hash”,是通過Hash算法將任意長度的輸入(也稱為預(yù)映像)轉(zhuǎn)換成固定長度的輸出,輸出為Hash值。這種變換是一種壓縮映射,即散列值的空間通常比輸入的空間小得多,不同的輸入可能被散列到同一個輸出中,不可能從散列值中唯一地確定輸入值。
1)如果對象相等,則哈希碼必須相等;
2)如果哈希碼相等,則對象可能不相等。