Я знаю int
диапазон -2147483648
до +2147483647
, но здесь я получаю вывод как true
и false
. Зачем? Фактически i1
и i2
указывают на один и тот же объект, поэтому выход true
. Я мог понять, но i3
и i4
также указывали на тот же объект, но я получил вывод как false
. Зачем?Я становлюсь истинным и ложным выходом почему?
public class MainClass {
public static void main(String[] args) {
Integer i1 = 127;
Integer i2 = 127;
System.out.println(i1 == i2);
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);
}
}
выход
true
false
почему выход должен быть, как это?
http://stackoverflow.com/questions/10002037/comparing-integer-values-in-java-strange-behavior#10002084 – Victor