覆蓋GetHashCode
:覆蓋的必要結果Equals
Equals
>當您覆蓋類中的GetHashCode
方法時,覆蓋
>
GetHashCode
的重要性
GetHashCode
>通常被低估的方法在確定平等方面起著至關重要的作用。如果兩個對象產生不同的哈希碼,則不管方法的結果如何,它們立即被視為不等。
Equals
方法必須與
方法的邏輯對齊,遵守以下規則:
GetHashCode
如果兩個對象相等(Equals
),則它們
Equals(...) == true
如果兩個對象具有相同的哈希代碼,則它們不一定是>等於。這代表了哈希碰撞,促使呼叫進行確定的平等驗證。 Equals
實現
>現代框架通常提供輔助類別(例如某些語言中的GetHashCode
)來簡化此過程。
int hash = 13; hash = (hash * 7) + field1.GetHashCode(); hash = (hash * 7) + field2.GetHashCode(); // ... add more fields as needed return hash;
和HashCode
>運算符以補充
覆蓋。 >
以上是為什麼在覆蓋`equals'時覆蓋了' gethashcode”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!