两个对象的 hashcode()相同,则 equals()也一定为 true,对吗
时间: 2023-04-22 08:02:20 浏览: 61
不对。两个对象的 hashcode()相同,只能说明它们在哈希表中的位置相同,但并不能保证它们的内容相同,因此 equals()方法的返回值不一定为true。只有在两个对象的 hashcode()相同且它们的内容相同时,equals()方法才会返回true。
相关问题
两个对象的 hashcode() 相同,则 equals() 也一定为 true 吗
如果两个对象的hashcode()相同,则并不一定意味着equals()方法一定返回true。这是由于hashcode()方法可以将不同的对象映射到一个相同的哈希码值上,而equals()方法则需要比较对象的内容,只有当内容相等时才能返回true。因此,我们需要根据具体情况来决定是否需要重写equals()方法。
两个对象的 hashcode()相同,则 equals()也一定为 true
不一定。虽然两个对象的 hashcode() 相同,但是 equals() 方法比较的是对象的内容,如果内容不同,equals() 方法返回的就是 false。因此,两个对象的 hashcode() 相同,equals() 方法也不一定为 true。