L'output del programma corrente è "Strano". Ma entrambe le variabili condividono lo stesso riferimento. Perché il secondo e il terzo confronto non sono vere?Confronto tra variabili che puntano allo stesso oggetto intero
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");
}
uscita: Strange
Unboxing è probabilmente la risposta. Tuttavia, non ho una vera idea. – jjnguy
+1 per dimostrare un uso imperdonabile di autoboxing. –