Wynik bieżącego programu to "Dziwny". Ale obie zmienne mają to samo odniesienie. Dlaczego drugie i trzecie porównanie nie jest prawdziwe?Porównanie zmiennych wskazujących na ten sam obiekt 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");
}
wyjściowa: Strange
Unboxing to prawdopodobnie odpowiedź. Jednak nie mam prawdziwego pomysłu. – jjnguy
+1 za wykazanie niewybaczalnego użycia autoboxingu. –