java Object中hashCode的实现是什么?

and*_*qee 13 java hashcode java-7

可能重复:
hashCode()是如何用Java计算的

我发现Java中hashCode(?的根类方法没有实现Object:

public native int hashCode(); 
Run Code Online (Sandbox Code Playgroud)

如果我有一个Object a和一个Object b,我如何知道a.hashCode()b.hashCode()价值而不使用System.out.println()?只是通过hashCode实施.

我尝试了new两个ArrayList对象,令我惊讶的是,hashCode()值是相同的:它们都是1.

Kai*_*Kai 17

hashCode是一种native方法,意味着在内部调用系统库.有关详细信息,请参阅Java Native Interface.

SO上有一个问题为什么hashCode()和getClass()是本机方法?可能对你有意思.


Bri*_*new 5

默认的hashCode将是特定于实现的.我怀疑它与内存地址有关,但请注意VM在内存中移动对象(当然,hashCode必须保持不变).所以它不是实际的内存地址.