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

标签 java

如果你执行:

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

你可能会看到类似的输出

someObjectClassname@hashcodenumber

我的问题:hashCode 数字显示在那里有什么具体原因吗?

最佳答案

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

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

查看hashCode() method的描述了解更多信息。

关于java - 为什么默认的 Object.toString() 包含哈希码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4712139/

相关文章:

java - 蓝牙适配器服务仍为空

java - 有没有办法获取给定日期字符串或 LocalDate 的模式

java - 一条先于其他指令/语句的指令/语句是否保证首先执行?

java文本对话框,点击了哪个按钮?

java - 按下按钮时,应用程序崩溃

java - 启动应用程序时无法创建bean

java - JAR 与 JDBC 连接

java - 未找到 MySQL 连接 JDBC 驱动程序

java - JFreeChart - 标记 XYPlot 中线条移动的方向

java - getAbsolutePath() 类似 UploadedFile(org.apache.myfaces.custom.fileupload.UploadedFile;) 中的方法