为了账号安全,请及时绑定邮箱和手机立即绑定

关于重写hashCode()和equals()方法的疑惑?

不是很理解重写的意思

在Course里只是自动生成了hashCode()和equals(),并没有改变其内部的代码,为什么就重写了呢?而且hashCode()和equals()的功能居然也改变了?这里应该怎样去理解呢

正在回答

2 回答

在每个类中,在重写 equals 方法的时侯,一定要重写 hashcode 方法。如果不这样做,你的类违反了hashCode的通用约定,这会阻止它在HashMap和HashSet这样的集合中正常工作。因为你之前已经重写过equals方法,所以就并不是说没变其内部的代码

2 回复 有任何疑惑可以回复我~
#1

sanchez_zou

list就没有这样的问题是吗?
2019-10-31 回复 有任何疑惑可以回复我~

hashcode方法和equals方法重写后,在内部类中,优先执行重写的方法,

内部代码不会改变,只是被覆盖了而已,可以重温重写那节课。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于重写hashCode()和equals()方法的疑惑?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信