附加到类型变量的java编号? 1 年 Questions & Answers 37 在Eclipse中,调试时,我看到变量后面附加了一个数字,如 通用域名格式。废话。废话。blah@82963fb 82963fb是什么意思?是内存地址吗
# 1 楼答案 您看到的是对象的输出。toString()方法。其定义为: public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 所以,你在@之后看到的是Integer.toHexString(hashCode())
# 2 楼答案 它是对象的“标识哈希代码”值的十六进制呈现。它是^{}方法返回的值。此方法还用于为其类未重写Object.hashcode()方法的对象提供默认hashcode值 它不一定是对象的内存地址,但实际上,标识哈希代码与>&燃气轮机;a<&书信电报;对象的内存地址。(该值通常基于第一次调用方法时对象的地址。对象的地址随后可能会更改,但哈希代码值不会更改。) (整个字符串由默认的Object.toString()方法生成。@前面的部分是对象的完全限定类名。)
# 1 楼答案
您看到的是对象的输出。toString()方法。其定义为:
所以,你在
@
之后看到的是Integer.toHexString(hashCode())
# 2 楼答案
它是对象的“标识哈希代码”值的十六进制呈现。它是^{} 方法返回的值。此方法还用于为其类未重写
Object.hashcode()
方法的对象提供默认hashcode值它不一定是对象的内存地址,但实际上,标识哈希代码与>&燃气轮机;a<&书信电报;对象的内存地址。(该值通常基于第一次调用方法时对象的地址。对象的地址随后可能会更改,但哈希代码值不会更改。)
(整个字符串由默认的
Object.toString()
方法生成。@
前面的部分是对象的完全限定类名。)