關于重寫hashCode()和equals()方法的疑惑?
不是很理解重寫的意思
在Course里只是自動生成了hashCode()和equals(),并沒有改變其內部的代碼,為什么就重寫了呢?而且hashCode()和equals()的功能居然也改變了?這里應該怎樣去理解呢
不是很理解重寫的意思
在Course里只是自動生成了hashCode()和equals(),并沒有改變其內部的代碼,為什么就重寫了呢?而且hashCode()和equals()的功能居然也改變了?這里應該怎樣去理解呢
2019-06-14
舉報
2019-06-26
在每個類中,在重寫 equals 方法的時侯,一定要重寫 hashcode 方法。如果不這樣做,你的類違反了hashCode的通用約定,這會阻止它在HashMap和HashSet這樣的集合中正常工作。因為你之前已經重寫過equals方法,所以就并不是說沒變其內部的代碼
2019-07-27
hashcode方法和equals方法重寫后,在內部類中,優先執行重寫的方法,
內部代碼不會改變,只是被覆蓋了而已,可以重溫重寫那節課。