關(guān)于重寫hashCode()和equals()方法的疑惑?
不是很理解重寫的意思
在Course里只是自動(dòng)生成了hashCode()和equals(),并沒(méi)有改變其內(nèi)部的代碼,為什么就重寫了呢?而且hashCode()和equals()的功能居然也改變了?這里應(yīng)該怎樣去理解呢
不是很理解重寫的意思
在Course里只是自動(dòng)生成了hashCode()和equals(),并沒(méi)有改變其內(nèi)部的代碼,為什么就重寫了呢?而且hashCode()和equals()的功能居然也改變了?這里應(yīng)該怎樣去理解呢
2019-06-14
舉報(bào)
2019-06-26
在每個(gè)類中,在重寫 equals 方法的時(shí)侯,一定要重寫 hashcode 方法。如果不這樣做,你的類違反了hashCode的通用約定,這會(huì)阻止它在HashMap和HashSet這樣的集合中正常工作。因?yàn)槟阒耙呀?jīng)重寫過(guò)equals方法,所以就并不是說(shuō)沒(méi)變其內(nèi)部的代碼
2019-07-27
hashcode方法和equals方法重寫后,在內(nèi)部類中,優(yōu)先執(zhí)行重寫的方法,
內(nèi)部代碼不會(huì)改變,只是被覆蓋了而已,可以重溫重寫那節(jié)課。