HashSet hs=new HashSet();
Person p1=new Person("a1",1);
hs.add(p1);
System.out.println(p1);
重写了hashcode
public int hashCode()
{
System.out.println("hashcode////");
return name.hashCode()+age;
}
执行结果:
hashcode////
hashcode////
bean.Person@bf1
为什么输出p1却调用了hashcode?
而且还调用了两次,这是什么意思?