重写equal要重写 hashCode的原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写equal要重写 hashCode的原因相关的知识,希望对你有一定的参考价值。
public class Test {
public static void main(String[] args) {
Person person1 = new Person();
person1.setId("1");
person1.setName("qiumc");
Person person2 = new Person();
person2.setId("1");
person2.setName("qiumc");
Map<Person, String> hashMap = new HashMap<Person, String>();
hashMap.put(person1,"1");
hashMap.put(person2,"2");
System.out.println(hashMap.size());//重写hashCode 结果为1,否则为2
}
}
//Person类省略,只有两个属性,一个是name,一个id
以上是关于重写equal要重写 hashCode的原因的主要内容,如果未能解决你的问题,请参考以下文章
JAVA中重写equals方法为啥要重写hashcode方法说明
JavaSE——为什么重写equals的同时一定要重写hashCode?
JavaSE——为什么重写equals的同时一定要重写hashCode?
JAVA中重写equals()方法为什么要重写hashcode()方法说明