两个对象的hashCode()相同,则equals()方法会返回true吗?
下文笔者讲述今天收到的一个提问:“hashCode()相同,其equals()方法”是否相同的说明,如下所示:
equals()方法的返回值同equals中的逻辑有关,同hashCode()的返回值无关 --------------------------------------------------------------------------- 只是在Object类中,有一些约定: 1.两个对象用equals()比较返回true,则两个对象的hashCode()方法必须返回相同的结果 2.两个对象用equals()比较返回false,不要求hashCode()方法也一定返回不同的值,但是最好返回不同值,以提高哈希表性能 重写equals()方法,必须重写hashCode()方法,以保证equals方法相等时两个对象hashcode返回相同的值
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。