为什么重写equals以后还要重写hashcode
Posted wangzhiqiang004
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么重写equals以后还要重写hashcode相关的知识,希望对你有一定的参考价值。
有人说要满足hash规则:两个对象相等,hash值一定要相等,我觉得这不是一个规范问题
因为在一些场景,比如hashSet、hashMap 里面判断是否是同一个元素,是调用了hashcode方法的,如果在重写equals方法以后,没有重写hashcode,那么两个对象equals比较返回true,二hashcode值不一样,往
hashset里面存 ,就会存入两个相同的元素。
以上是关于为什么重写equals以后还要重写hashcode的主要内容,如果未能解决你的问题,请参考以下文章