hashCode和equals方法

equals方法用来比较两个对象是否相等。

hashCode和equals方法存在着以下联系:

equals的返回值能推导出hashCode的值是否相等,反之无法进行推导。

另外关于"equals返回true,则hashCode必须相等"这一说法是一个规定,是保证Hash相关数据结构和方法正常运行的前提,这就是为什么“重写equals方法必须重写hashCode方法”的原因,当然你也可以不重写,也能通过编译,但是你的代码就埋了一个炸弹,鬼知道什么时候会爆炸。关于这个炸弹的思考,我们可以参考:Boom

猜你喜欢

转载自blog.csdn.net/tian2342/article/details/81096662