Java:object.hashCode()和Objects.hashCode(object)

Java:object.hashCode()和Objects.hashCode(object),java,equals,hashcode,Java,Equals,Hashcode,一个简单而简短的问题:object.hashCode()和Objects.hashCode(object)是否相等?有什么区别?它们从对象中计算相同的散列吗?正如您在它的实现中看到的那样 public static int hashCode(Object o) { return o != null ? o.hashCode() : 0; } 对。如果对象o为null,它将阻止NPE。如果对象o为null,hashCode(对象)将返回零 而在这种情况下,object.hashCode(

一个简单而简短的问题:
object.hashCode()
Objects.hashCode(object)
是否相等?有什么区别?它们从对象中计算相同的散列吗?

正如您在它的实现中看到的那样

public static int hashCode(Object o) {
    return o != null ? o.hashCode() : 0;
}
对。如果对象o为null,它将阻止NPE。如果对象o为null,hashCode(对象)将返回零

而在这种情况下,
object.hashCode()
将抛出一个
NullPointerException


对于非
null
引用,函数是等效的。

请在询问之前搜索