如果执行:
System.out.println(someObj.toString());
你可能会看到类似的输出
someObjectClassname @ hashcodenumber
我的问题:是否存在显示hashCode号的任何特定原因?
对象哈希码是唯一的标准标识符,可能允许您在Java中区分不同的任意对象。它不一定是唯一的,但是相等的对象通常具有相同的哈希码。
默认toString()方法显示了对象类及其哈希码,因此您可以希望区分不同的对象实例。由于默认情况下也会在错误消息中使用它,因此这很有意义。
有关更多信息,请参见hashCode()方法说明。