gpt4 book ai didi

java - 当我从 Object 类覆盖 equals() 时如何实现 hashCode()

转载 作者:行者123 更新时间:2023-11-30 00:01:50 25 4
gpt4 key购买 nike

<分区>

在java PMD规则中,有一条规则OverrideBothEqualsAndHashcode。

这意味着开发人员必须同时覆盖 equals(Object obj) 和 hashCode(),而不仅仅是一个。

谁能解释一下为什么?

如果我覆盖并重新定义 eqauls(Object obj),我应该在 hashCode() 中实现什么?

class MyClass() {
public int id;

@Override
public boolean equals(Object obj) {
return id == ((MyClass) obj).id;
}

@Override
public int hashCode() {
// WHAT KIND OF CODE SHOULD I IMPLEMENT HERE?
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com