从HashMap的原理这篇笔记我们知道元素在数组存放位置的计算公式是hashCode%length,假如有两个元素经过这个公式计算出来的结果是一样的话,则它们都会存放在这个位置的链表里。
关于equals和hashcode的关系是这样的。
HashCode相等的,equals不一定相等。
equals相等的,HashCode一定相等。
综上所述,HashCode相等,只是证明他们存放在同一个地方,只有equals相等了,才能证明他们是同一个地方的同一个类。
从HashMap的原理这篇笔记我们知道元素在数组存放位置的计算公式是hashCode%length,假如有两个元素经过这个公式计算出来的结果是一样的话,则它们都会存放在这个位置的链表里。
关于equals和hashcode的关系是这样的。
HashCode相等的,equals不一定相等。
equals相等的,HashCode一定相等。
综上所述,HashCode相等,只是证明他们存放在同一个地方,只有equals相等了,才能证明他们是同一个地方的同一个类。