情况1:
Integer number = 128;
Integer number3 = 128;
System.out.println(number == number3);
情况2:
Integer number = 127;
Integer number3 = 127;
System.out.println(number == number3);
在这种情况下,如果值 > 127,则返回 false,但如果值 < 128,则返回 true。
有人可以解释为什么情况 1 返回 false 而情况 2 返回 true 吗?
最佳答案
发生这种情况是因为 Integer
类为 -128
到 127
之间的值保留了本地缓存。您也可以增加此范围。
关于Java:整数相等检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32246893/