【发布时间】:2012-08-06 14:36:46
【问题描述】:
今天是我第一次尝试 Java 语言。当我尝试这段代码时,感觉很奇怪:
int a =500;
System.out.println(System.identityHashCode(500));
System.out.println(System.identityHashCode(500));
System.out.println(System.identityHashCode(a));
System.out.println(System.identityHashCode(a));
所有这些结果都是不同的。但是当我把 500 改成 50 时,结果是一样的。
为什么会这样?
【问题讨论】:
-
@Tichodroma 这是怎么复制的?没有涉及字符串,也没有整数......但也许我对这件事的理解不够好,因为我对代码的结果感到困惑。 (我可以确认)
-
@brimborium 您是否阅读了该问题的已接受答案?寻找
500。 -
@Tichodroma 是的。我知道这是密切相关的......但我认为这个问题已经很好地说明并且仍然不是重复。