Database对象的System.out.println的内容是什么

时间:2013-07-01 19:04:19

标签: java jdbc

System.out.println(databaseConnection);

我得到了

jdbcconnection.DatabaseConnection@43bf3d77

任何人都可以更详细地解释这篇文章“43bf3d77”吗?

4 个答案:

答案 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