我无法理解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之后发生变化,下面是代码段
Integer i1 = 128;
Integer i2 = 128;
System.out.println(i1==i2); // False. WHY?????
有人可以帮我理解吗?
江户川乱折腾
三国纷争
HUX布斯
相关分类