我有一个对象Mutation,我有“新”编辑。但是当它用toString()输出时,该对象显示Mutation @ 0。这对我来说似乎并不好。这意味着什么?
答案 0 :(得分:3)
这是无符号十六进制表示
As per Docs of toString() method in Object class
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符“@”和对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回一个等于值的字符串:
Hashcode尚未计算的意义上的zero
。
public String toString() {
237 return getClass().getName() + "@" + Integer.toHexString(hashCode());
238 }
答案 1 :(得分:1)
如果你查看Mutation
的源代码,很有可能你会在那里找到它:
@Override public int hashCode() {
//TODO: implement this properly!
return 0;
}
toString()
的默认实现仅报告hashCode
返回0的事实。