我是 Java 新手,我有一个关于 Java 对象的哈希码的问题:
public class HelloWorld
{
String name;
int age;
}
具有相同属性值的不同对象是否具有相同的 hashCode?p>
HelloWorld hello1 = new HelloWorld();
hello1.name = "hello";
hello1.age = 20;
HelloWorld hello2 = new HelloWorld();
hello2.name = "hello";
hello2.age = 20;
将hello1
和hello2
有相同的 hashCode 吗?
此外,具有不同属性值的对象是否可能具有相同的 hashCode?p>
最佳答案
您尚未重写 hashCode()
方法,因此 hashCode 本质上是随机的,因此对于两个不同的对象来说,hashCode 可能相同也可能不同,无论其字段值如何。但获得相同 hashCode 的概率非常低。
关于java - Java中具有相同属性值的不同对象可以具有相同的哈希码吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52094700/