本帖最后由 依然超级赛亚人 于 2014-8-28 23:29 编辑
打印对象的话打印的是对象的地址值,它好像与哈希值不是一回事吧?对象的地址与它的哈希值计算方法不是依赖于同一个规则,看看源码也许能知道。getClass().getName() + '@' + Integer.toHexString(hashCode())这是对象的地址值的组成形式,很明显打印的对象中是有哈希值hashCode(),但是你也看到了,它被转换为十六进制数了:toHexString()这个方法实现的。不过这题是真的很偏,偏到除了要做API这样的底层程序才需要知道的地步。感兴趣的话网上搜索一下应该会有信息。
|