相关疑难解决方法(0)

为什么我需要覆盖Java中的equals和hashCode方法?

最近我读了这个 Developer Works文档.

该文档是关于定义hashCode()equals()有效和正确的,但我无法弄清楚为什么我们需要覆盖这两种方法.

如何有效地实施这些方法?

java equals hashcode

355
推荐指数
15
解决办法
39万
查看次数

Java中hashCode与equals方法的关系

我在很多地方读过,虽然equals在Java中覆盖hashCode方法,也应该覆盖方法,否则就是"违反合同".

但到目前为止,如果我只覆盖equals方法,而不是hashCode方法,我没有遇到任何问题.

合同是什么?当我违反合同时,为什么我没有遇到任何问题?如果我没有覆盖hashCode方法,在哪种情况下我会遇到问题?

java

107
推荐指数
7
解决办法
16万
查看次数

标签 统计

java ×2

equals ×1

hashcode ×1