51Testing软件测试论坛

标题: equals() 与 hashCode() 方法的关系 [打印本页]

作者: 104~牛牛    时间: 2018-1-5 16:12
标题: equals() 与 hashCode() 方法的关系
equals() 与 hashCode() 方法的关系

作者: icerman    时间: 2018-1-8 19:58
   1.hashCode是为了提高在散列结构存储中查找的效率,在线性表中没有作用。
   2.equals和hashCode需要同时覆盖。
   3.若两个对象equals返回true,则hashCode有必要也返回相同的int数。
4.若两个对象equals返回false,则hashCode不一定返回不同的int数,但为不相等的对象生成不同hashCode值可以提高
哈希表的性能。

5.若两个对象hashCode返回相同int数,则equals不一定返回true。

6.若两个对象hashCode返回不同int数,则equals一定返回false。

   7.同一对象在执行期间若已经存储在集合中,则不能修改影响hashCode值的相关信息,否则会导致内存泄露问题。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2