鍍金池/ 問答/Java/ 為什么說(shuō)覆寫equals方法就必須覆寫hashCode方法

為什么說(shuō)覆寫equals方法就必須覆寫hashCode方法

為什么說(shuō)覆寫equals方法就必須覆寫hashCode方法

回答
編輯回答
旖襯

看源碼應(yīng)該是這樣的,因?yàn)閑quals相等時(shí)必須引用同一個(gè)對(duì)象,而hashcode協(xié)議規(guī)定相等的對(duì)象的hashCode也必須相等,而且對(duì)象在用于HashSet/HashMap/Hashtable等數(shù)據(jù)結(jié)構(gòu)時(shí)都是用hashCode來(lái)判斷對(duì)象是否相同的,如果只重寫equals方法而不重寫hashCode會(huì)導(dǎo)致相同的對(duì)象存儲(chǔ)了多次

2017年8月17日 00:33