重写equals必须重写hashcode
这是Java中的一个规定,当一个类重写了equals方法时,也必须重写hashCode方法。因为在Java中,hashCode方法是用来计算对象的哈希码,而哈希码又是用来快速查找对象的。当我们使用HashSet、HashMap、Hashtable等集合类时,这些集合类会根据对象的哈希码来确定它们的存储位置,如果两个对象的equals方法返回true,但它们的hashCode方法返回的值不同,那么它们将被存储在不同的位置,而无法正确获取。因此,为了保证对象的正确性,重写equals方法时也必须重写hashCode方法。
原文地址: https://www.cveoy.top/t/topic/hkmm 著作权归作者所有。请勿转载和采集!