@是自应用程序启动以来的对象计数编号。因此,@ 1012表示自应用启动以来创建的第1012个对象。
它不是身份哈希码。
这里有一些证明:(我之所以这样说是因为我实际上不知道,但是我观察到了)
public static void main(String [] args) throws Throwable { Object object = new Object(); Object object1 = new Object(); Integer foo = new Integer(5); Object object2 = new Object(); String str = new String("bar"); System.out.println("pre :" + System.identityHashCode(object)); RuntimeException exception = new RuntimeException(); exception.printStackTrace(); //put breakpoint here}输出:代码:789451787代码:java.lang.Object@2f0e140b
789451787 = 2f0e140b顺便说一下…
IntelliJ调试器的输出:
static = org.boon.core.MyClassargs = {java.lang.String[0]@**97**}object = {java.lang.Object@**98**}object1 = {java.lang.Object@**99**}foo = {java.lang.Integer@**100**}"5"object2 = {java.lang.Object@**101**}str = {java.lang.String@**102**}"bar"exception = {java.lang.RuntimeException@**103**}"java.lang.RuntimeException"我凭经验知道这一点,但是我不知道实际的实现,但是我认为这与诸如此类的问题有关:
as3:调试时有意义的对象识别。



