嗯 关于重写equlas方法的问题
来源:5-2 作业题
hello123peace
2019-04-19 09:45:08
为什么hashcode和equals方法要一起写 而且 每次重写equals方法的时候 hashcode就啥都不需要动吗?
3回答
吃吃吃鱼的猫
2019-04-19
同学你好,可以的哦~如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
吃吃吃鱼的猫
2019-04-19
同学你好,是的,一般情况下对象只重写equals方法。hashcode的方法只有在自己想定义一个哈希算法的时候才会重写,一般不会重写。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
吃吃吃鱼的猫
2019-04-19
同学你好,
equals()方法与hashCode()的通用协定是:
1、如果两个对象相等(equal),那么必须拥有相同的哈希码(hash code),此时对象相等。
2、如果两个对象有相同的哈希值(hash code),(equals)方法不一定相等,这时两个对象不一定相等。
所以,比较对象时,hashcode和equals方法要一起写,但每次重写equals方法的时候 hashcode不需要重写。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题