码迷,mamicode.com
首页 > 其他好文 > 详细

面试必备之为什么重写equals必须重写hashcode

时间:2019-02-24 00:54:07      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:als   多次   结果   com   shc   block   guid   证书   equals   

印象中是来自

https://github.com/Snailclimb/JavaGuide

Object.hashcode的通用约定为:

1.在一个应用执行期间,如果一个对象的equals方法做比较所用到的信息没有被修改的话,那么对该对象调用hashCode方法多次,它必须始终如一地返回同一个证书;在同一个应用程序的多次执行过程中,这个证书可以不同,即这个应用程序这次返回的证书与下一次执行返回的证书可以不一致。
2.如果两个对象根据equals(Object)方法是相等的,那么调用者两个对象中任一个对象的hashCode方法必须产生同样的整数结果。
3.如果两个对象根据equals(Object)方法是不相等的,那么调用者两个对象中任一个对象的hashCode方法,不要求必须产生不同的证书结果。

如果只重写了equals方法而没有重写hashCode方法的话,则会两个对象根据equals(Object)方法返回相等,但对调用者两个对象中任一对象进行hashCode方法不产生同样的结果。

面试必备之为什么重写equals必须重写hashcode

标签:als   多次   结果   com   shc   block   guid   证书   equals   

原文地址:https://www.cnblogs.com/zbb2161228/p/10424928.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!