为什么在重写了equals方法之后也必须重写hashcode方法
答案:1 悬赏:20 手机版
解决时间 2021-12-03 11:27
- 提问者网友:我的未来我做主
- 2021-12-03 02:38
为什么在重写了equals方法之后也必须重写hashcode方法
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-12-03 02:50
hashCode方法也是可以用来比较两个对象是否相等的。但是我们很少使用,应该说是很少直接使用。hashCode方法返回的是一个int值,可以看做是一个对象的唯一编码,如果两个对象的hashCode值相同,我们应该认为这两个对象是同一个对象。一般如果使用java中的Map对象进行存储时,他会自动调用hashCode方法来比较两个对象是否相等。所以如果我们对equals方法进行了重写,建议一定要对hashCode方法重写,以保证相同的对象返回相同的hash值,不同的对象返回不同的hash值。如上面的学生例子,如果学号相同,不管姓名相不相同,返回的hash值一定要是一样的,这时我们的hash值只与学号有关。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯