A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

只有类的示例对象要被采用hash算法进行存储和检索时,这个类才要覆盖hashCode方法。
即使程序可能暂时不会用到当前类的hashCode方法,但是他提供了一个hashCode方法也不会
有什么不好,没准以后又用到这个方法了,所以通常要求hashCode方法和equals
方法一并被覆盖
1。一个类的equals()方法比较的结果相等时,hashCode值必须相同。反之则不成立
如字符串"BB"和"Aa";
2。当一个对象存储进hashSet集合中以后,就不能修改这个对象中那些参与计算的哈希值的
字段了,否则对象修改后的hash值和最初存储进集合的哈希值就不同,即使使用contains方法在集合中
检索该对象,也将返回找不到对象的结果,这会导致无法从hashSet集合中单独删除当前对象,从而造成内存泄露、

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马