hashCode() 与 equals()
hashCode定义于Object类中,说明任何类中都包含hashCode函数
通过hashCode的计算,来看已加入的对象中是否有相同的hashCode,如果有相同的,再通过equals比较他们所对应的对象的值是否相同。
为什么重写 equals() 时必须重写 hashCode() 方法?
因为两个相等的对象的 hashCode 值必须是相等。也就是说如果 equals 方法判断两个对象是相等的,那这两个对象的 hashCode 值也要相等。
如果重写equals() 时没有重写 hashCode() 方法的话就可能会导致 equals 方法判断是相等的两个对象,hashCode 值却不相等

浙公网安备 33010602011771号