两个对象的hashCode()相同,则 equals()是否也一定为 true?
时间: 2024-03-11 19:45:52 浏览: 66
不一定。hashCode()相同只是表示这两个对象在散列表中的位置可能相同,但是equals()比较的是对象的实际内容是否相等,因此两个对象的hashCode()相同,equals()也不一定相等。例如,String类中有可能出现不同的字符串有相同的hashCode(),但是这些字符串的内容是不同的。
相关问题
两个对象的 hashcode() 相同,则 equals() 也一定为 true 吗?
不一定。虽然两个对象的 hashcode() 相同,但它们的 equals() 方法可能被重写为比较不同的属性,因此 equals() 方法可能返回 false。但是,如果两个对象的 equals() 方法返回 true,则它们的 hashcode() 方法必须返回相同的值。
两个对象的 hashcode()相同,则 equals()也一定为 true
不一定。虽然两个对象的 hashcode() 相同,但是 equals() 方法比较的是对象的内容,如果内容不同,equals() 方法返回的就是 false。因此,两个对象的 hashcode() 相同,equals() 方法也不一定为 true。
阅读全文