課程
/后端開發(fā)
/Java
/Java入門第三季
hashCode()
2014-10-29
源自:Java入門第三季 6-2
正在回答
詳細(xì)的可以去看HashMap的contains實(shí)現(xiàn),那里是equals和hashCode兩個(gè)同時(shí)使用了,所以在有Map的時(shí)候,必須兩個(gè)都要驗(yàn)證。HashSet也驗(yàn)證兩個(gè)。但是在ArrayList里不驗(yàn)證hashCode,所以你不重寫hashCode也無所謂。
equals和hashcode方法要同時(shí)重寫,并且要在equals為true的時(shí)候,hashCode必須要相同。這個(gè)已經(jīng)是一種不成文的規(guī)定了,這兩個(gè)方法要重寫就要一起重寫,而且IDE里也會(huì)將只重寫一個(gè)視為警告。所以這兩個(gè)方法要同時(shí)重寫。
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧
3 回答為什么需要調(diào)用父類含參的構(gòu)造方法?super(message)?
1 回答test2()拋出的是運(yùn)行時(shí)異常,為什么main函數(shù)里面catch的為Exception e?
4 回答這什么情況???
1 回答這段代碼究竟哪里錯(cuò)了
1 回答關(guān)于Map<key,value>,
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-07-26
詳細(xì)的可以去看HashMap的contains實(shí)現(xiàn),那里是equals和hashCode兩個(gè)同時(shí)使用了,所以在有Map的時(shí)候,必須兩個(gè)都要驗(yàn)證。HashSet也驗(yàn)證兩個(gè)。但是在ArrayList里不驗(yàn)證hashCode,所以你不重寫hashCode也無所謂。
equals和hashcode方法要同時(shí)重寫,并且要在equals為true的時(shí)候,hashCode必須要相同。這個(gè)已經(jīng)是一種不成文的規(guī)定了,這兩個(gè)方法要重寫就要一起重寫,而且IDE里也會(huì)將只重寫一個(gè)視為警告。所以這兩個(gè)方法要同時(shí)重寫。