为什么在Java中同时覆盖equals()和hashCode()? [重复]

问题描述 投票:0回答:1

也许这个问题对您来说似乎很荒谬,但我显然不明白(我是Java初级用户)为什么我们应该经常一起重写equals()hashCode()

实际上,我可以为某个类重写equals()以进行特定比较,但是为什么我也应该重写hashCode()?非常感谢!

java object overriding equals hashcode
1个回答
3
投票

[HashSet之类的几个集合依赖equalshashCode是一致的事实。这意味着,在hashCode的意义上,对象相等时equals必须提供相同的值。

© www.soinside.com 2019 - 2024. All rights reserved.