gpt4 book ai didi

java - hashCode() 和 IdentityHashCode() 的输出相同

转载 作者:行者123 更新时间:2023-12-01 22:42:47 29 4
gpt4 key购买 nike

考虑以下代码:

public class MyClass {

public static void main(String[] args) {
Object obj = new Object();
System.out.println(obj.hashCode());
System.out.println(System.identityHashCode(obj));
}
}

输出:

328332828
328332828

那么使用hashCode()identityHashCode()有什么用呢?

最佳答案

JavaDoc identityHashCode()说:

返回参数的整数哈希码。返回的哈希码与 java.lang.Object.hashCode() 方法返回的哈希码相同,无论对象的类是否覆盖了 hashCode()。 null 的哈希码是 0。

简单来说:

如果您在类中重写了 hashCode() 方法,则调用 identityHashCode() 将调用默认的 hashCode() 方法,而不是您重写的方法。

关于java - hashCode() 和 IdentityHashCode() 的输出相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843781/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com