Loading

hashCode() 与 equals()

hashCode定义于Object类中,说明任何类中都包含hashCode函数
通过hashCode的计算,来看已加入的对象中是否有相同的hashCode,如果有相同的,再通过equals比较他们所对应的对象的值是否相同。

为什么重写 equals() 时必须重写 hashCode() 方法?
因为两个相等的对象的 hashCode 值必须是相等。也就是说如果 equals 方法判断两个对象是相等的,那这两个对象的 hashCode 值也要相等。

如果重写equals() 时没有重写 hashCode() 方法的话就可能会导致 equals 方法判断是相等的两个对象,hashCode 值却不相等

posted @ 2022-01-15 17:13  Zhbeii  阅读(38)  评论(0)    收藏  举报