为什么重写equals以后还要重写hashcode

有人说要满足hash规则:两个对象相等,hash值一定要相等,我觉得这不是一个规范问题

因为在一些场景,比如hashSet、hashMap 里面判断是否是同一个元素,是调用了hashcode方法的,如果在重写equals方法以后,没有重写hashcode,那么两个对象equals比较返回true,二hashcode值不一样,往

hashset里面存 ,就会存入两个相同的元素。

posted @ 2020-04-14 11:50  ChenduLaoWang  阅读(153)  评论(0)    收藏  举报