Java为什么默认的Object.toString()包含哈希码?

如果执行:

System.out.println(someObj.toString());

你可能会看到类似的输出

someObjectClassname @ hashcodenumber

我的问题:是否存在显示hashCode号的任何特定原因?

回答:

对象哈希码是唯一的标准标识符,可能允许您在Java中区分不同的任意对象。它不一定是唯一的,但是相等的对象通常具有相同的哈希码。

默认toString()方法显示了对象类及其哈希码,因此您可以希望区分不同的对象实例。由于默认情况下也会在错误消息中使用它,因此这很有意义。

有关更多信息,请参见hashCode()方法说明。

以上是 Java为什么默认的Object.toString()包含哈希码? 的全部内容, 来源链接: utcz.com/qa/408987.html

回到顶部