【发布时间】:2015-07-03 14:19:30
【问题描述】:
我有一个包含 A 类型元素的 LinkedList。 我需要检查列表是否包含基于某些条件的元素。
重写 A 类中的 .equals 方法是否足够,还是我还需要重写 hash 方法?
【问题讨论】:
-
当您尝试覆盖 equals 时发生了什么?
-
如果你覆盖 equals 你也必须覆盖 hashCode
-
记住一般约定 - 如果两个对象在
equals()方法的意义上是相等的,那么它们必须为hashCode()返回相同的值。 -
我试过了,它似乎可以工作,但是我的算法中有很多可能出错的地方,我不想冒险。
-
设置是否过于严格?