Вывод текущей программы «Strange». Но обе переменные имеют одну и ту же ссылку. Почему второе и третье сравнения не соответствуют действительности?Сравнение переменных, указывающих на один и тот же объект Integer
Integer a;
Integer b;
a = new Integer(2);
b = a;
if(b == a) {
System.out.println("Strange");
}
a++;
if(b == a) {
System.out.println("Stranger");
}
a--;
if(b == a) {
System.out.println("Strangest");
}
Выход: Strange
Несвобождение, вероятно, является ответом. Однако у меня нет реальной идеи. – jjnguy
+1 для демонстрации непростительного использования автобоксинга. –