Originariamente inviato da Virtuoid
E' da troppo che sono bloccato questo capitolo: Boxing, Unboxing, Autocasting .. L'unica cosa che ho capito e' che mette una variabile di tipo primitivo (mettiamo int) nell'involucro ( integer ) (<--- Boxing ) Ma tutto cio' , esattamente .. a COSA SERVE??
Auto-boxing/Auto-unboxing rendono poi semplicemente "implicite" certe conversioni che invece, prima di Java 5, andavano fatte "a mano" con del codice.
Prima di Java 5:
codice:
Integer val = 5; // NO
Integer val = new Integer(123);
int n = val; // NO
Da Java 5 le due sopra sono ok. Ma semplicemente perché il compilatore le "traduce" in automatico in:
codice:
Integer val = Integer.valueOf(5);
Integer val = new Integer(123);
int n = val.intValue();
Prima di Java 5 per ottenere un Integer si doveva per forza usare esplicitamente o i costruttori o i valueOf(String s) / valueOf(String s, int radix) (nota: il valueOf(int n) è stato aggiunto in Java 5!) e per l'inverso invocare esplicitamente intValue().
Tutto qui. Anzi no ... non è tutta qui la questione, ci sarebbe dell'altro da dire. Ma il succo è questo!