p1 è un int (primitivo) mentre o2/o3 sono Integer (oggetti).Originariamente inviato da Horokeu
perchè il confornto per identità di p1==o2 e p1==o3 danno risultato true?
Da Java 5 esiste la funzionalità di auto-boxing/unboxing. Pertanto i due Integer vengono unboxati in automatico a int. Alla fine si tratta di un confronto tra 2 int!
Prima di Java 5, espressioni come p1==o2 non erano lecite.

Rispondi quotando