hashmap 中重写equals, 但不重写hashcode
时间: 2023-12-26 12:09:40 浏览: 89
为什么在重写 equals方法的同时必须重写 hashcode方法
的后果是什么?
如果在HashMap中重写equals()方法而不重写hashCode()方法,可能会导致在使用HashMap的其中一个方法,如get()方法时,无法正确找到要找的值。这是因为,如果未重写hashCode()方法,则hashCode()将根据对象的内存地址计算散列码,而不是根据对象的内容。这可能会导致相等的对象具有不同的散列码,因此在HashMap中搜索相等的对象可能会失败。
阅读全文