一个问题是,如果在将该对象添加到HashSet或HashMap(当该对象是Map中的键时)后,其hashCode更改,则无法在集合中找到该对象。 在对象生命周期内更改equals的结果可能会导致某些集合出现问题。例如,您可能会发现在Set中存在重复对象,因为在第二个对象被添加到Set时,它们不相等。
equals
或hashCode
方法的实现,而不是在创建新类型时覆盖超类方法。 - Bobulous