【Java面試最新】為什么重寫equals()方法,就一定要重寫hashC...
2023-07-12 20:27 作者:還有沒被取過的昵稱嗎 | 我要投稿

1. hashCode()和equals方法為Object的實(shí)例方法,equals用于比較兩個(gè)對(duì)象實(shí)例是否相等 ,hashCode()用于如hashMap等數(shù)據(jù)結(jié)構(gòu)儲(chǔ)存數(shù)據(jù)時(shí)尋址。
2. 根據(jù)Java規(guī)范,任意兩個(gè)對(duì)象使用equals方法返回true(即相等)時(shí),它們的哈希碼也必須相同(即使用hashCode()方法返回值相同),因此,當(dāng)重寫了equals方法時(shí),須重寫hashCode()方法以保證上述規(guī)范成立。
標(biāo)簽: