在
System.out.println(databaseConnection);
我得到了
jdbcconnection.DatabaseConnection@43bf3d77
任何人都可以更详细地解释这篇文章“43bf3d77”吗?
答案 0 :(得分:4)
由于DatabaseConnection
类未覆盖,因此将使用Object class toString()
方法:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
是hashcode的Hex String。
正如保罗评论的那样,它对程序员来说毫无用处。
答案 1 :(得分:2)
由于类DatabaseConnection
未覆盖toString()
的默认实现(Object class
),因此您会看到带有哈希码的类名。
答案 2 :(得分:1)
jdbcconnection.DatabaseConnection表示databaseConnection是数据库连接,是Java数据库连接连接的子集。 @ 43bf3d77显示“@”,后跟以十六进制编写的databaseConnection哈希码。
答案 3 :(得分:0)
字符串 43bf3d77
从hashCode
对象的方法databaseConnection
返回(请参阅Nambari的答案)。默认实现是将对象的内部地址转换为整数(但这取决于虚拟机的实现,可能是截断版本或内存中对象地址的编码版本例如JRockit)