当我执行以下操作时,我想知道输出到底是什么。
class Data {
int a = 5;
}
class Main {
public static void main(String[] args) {
data dObj = new data();
System.out.println(dObj);
}
}
我知道它给出了与对象相关的东西,因为在我的例子中输出是data@1ae73783。我猜1ae73783是一个十六进制数。我也做了一些工作并打印了
System.out.println(dObj.hashCode());
我得到了号码415360643。我得到一个整数值。我不知道hashCode()
返回什么,仍然出于好奇,当我将1ae73783转换为十进制时,我得到了415360643!
这就是为什么我很好奇这个数字到底是什么。这是Java沙箱的某个内存位置还是其他东西?