最近我读了这个 Developer Works文档.
该文档是关于定义hashCode()和equals()有效和正确的,但我无法弄清楚为什么我们需要覆盖这两种方法.
hashCode()
equals()
如何有效地实施这些方法?
java equals hashcode
我在很多地方读过,虽然equals在Java中覆盖hashCode方法,也应该覆盖方法,否则就是"违反合同".
equals
hashCode
但到目前为止,如果我只覆盖equals方法,而不是hashCode方法,我没有遇到任何问题.
合同是什么?当我违反合同时,为什么我没有遇到任何问题?如果我没有覆盖hashCode方法,在哪种情况下我会遇到问题?
java
java ×2
equals ×1
hashcode ×1