为什么两个对象有相同的hashcode值它们也不一定是相等的
因为哈希码是根据对象的属性计算出来的一个整数,而不是对象本身。两个对象的哈希码相同,只是说明它们的属性值相同,但是它们的实际内容可能仍然不同。在Java中,如果两个对象的equals方法返回true,则它们的哈希码必须相等。但是,如果两个对象的哈希码相等,则它们的equals方法不一定返回true,因为哈希码可能发生碰撞,即不同的对象具有相同的哈希码。因此,如果想要比较两个对象是否相等,应该使用equals方法而不是哈希码。
原文地址: https://www.cveoy.top/t/topic/fyJz 著作权归作者所有。请勿转载和采集!