重写equals为什么要重写hashcode
时间: 2023-04-28 12:00:16 浏览: 107
为什么在重写 equals方法的同时必须重写 hashcode方法
重写`equals`方法和重写`hashCode`方法是Java中对象比较和哈希存储相关的操作,它们必须成对出现。
当两个对象通过`equals`比较返回`true`时,它们的`hashCode`必须相等。如果不重写`hashCode`,可能会出现两个相等的对象有不同的哈希值的情况,这会导致在哈希表(比如`HashMap`)中查询不到正确的对象。
因此,为了保证对象的正确比较和存储,当你重写`equals`方法时,一定要重写`hashCode`方法。
阅读全文