具有相同哈希码的两个Java对象不一定相等吗?

我明白为什么为两个相等的(通过equals)对象提供相同的哈希码很重要。但是反之亦然,如果两个对象具有相同的哈希码,它们必须相等吗?合同还存在吗?我找不到一个可能发生这种情况的示例,因为如果所有使用equals方法的属性都被用来覆盖hashcode方法,那么我们将始终对相等的对象使用相同的hashcode。请评论。

回答:

如果两个对象相同,hashcode则它们不一定相等。否则,您将发现完美的哈希函数。

但事实恰恰相反:如果对象相等,则它们必须具有相同的hashcode

以上是 具有相同哈希码的两个Java对象不一定相等吗? 的全部内容, 来源链接: utcz.com/qa/401422.html

回到顶部