【发布时间】:2012-10-17 09:08:57
【问题描述】:
我无法理解 Java 整数常量池的工作原理。
我了解字符串的行为,因此能够证明自己的情况与整数常量相同。
所以,对于整数
Integer i1 = 127;
Integer i2 = 127;
System.out.println(i1==i2); // True
&
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1==i2); // False
到此为止,一切都在我脑海中浮现。
我无法理解的是,当我从 127 增加整数时,它的行为会有所不同。这种行为在 127 之后会发生变化,下面是代码 sn-p
Integer i1 = 128;
Integer i2 = 128;
System.out.println(i1==i2); // False. WHY?????
谁能帮我理解这个?
【问题讨论】: