Die Ausgabe des aktuellen Programms ist "Strange". Aber beide Variablen teilen sich die gleiche Referenz. Warum sind die zweiten und dritten Vergleiche nicht wahr?Vergleich zwischen Variablen, die auf dasselbe Integer-Objekt zeigen
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");
}
Ausgang: Strange
Unboxing ist wahrscheinlich die Antwort. Ich habe jedoch keine wirkliche Idee. – jjnguy
+1 für die Demonstration einer unverzeihlichen Verwendung von Autoboxing. –