TYPE WRAPPERS
Vedremo come i tipi primitivi di Java possono essere convertiti e considerati degli oggetti. Ci sono varie ragioni per dover effettuare questa conversione e una di queste è rappresentata dai Generics. Un Type Wrapper è un involucro che noi andiamo a costruire attorno a un tipo primitivo. Per essere più precisi è una classe che incapsula il tipo primitivo.
Tra le classi di maggiore importanza possiamo indicare i tipi numerici.
Le classi sono sottoclassi di Number. Tutte le classi Wrapper numeriche possiedono un particolare metodo statico che prende come parametro il tipo primitivo e lo converte nel corrispondente tipo Wrapper. Il metodo si chiama valueOf().
C’è un’altra forma particolare che prende in input una stringa.
BOXING E UNBOXING
Il meccanismo che abbiamo visto all’opera, cioè prendere in input un valore primitivo trasformato nel corrispondente tipo Wrapper si chiama Boxing. Vediamo il meccanismo inverso, cioè come si estrae da un tipo Wrapper il corrispondente tipo primitivo. Questo meccanismo si chiama Unboxing.
AUTOBOXING E AUTO-UNBOXING
Vediamo come convertire un tipo primitivo nella corrispondente classe Wrapper e viceversa in modo del tutto automatico.
La conversione avviene automaticamente. L’Autoboxing avviene anche quando passiamo un argomento ad un metodo.
La stessa cosa avviene anche con i valori di ritorno. Quando possibile usare sempre i tipi primitivi in quanto sia il Boxing che l’Unboxing hanno sempre un costo in termini di performance.
LINK AI POST PRECEDENTI
LINK AL CODICE SU GITHUB
ESECUZIONE DEL CODICE DI ESEMPIO
- Scaricare il codice da GITHUB, lanciare il file JAR con il seguente comando in Visual Studio Code, posizionandosi nella directory contenente il JAR.
java -jar –enable-preview CorsoJava.jar
- Oppure mettere in esecuzione il main che si trova nel file CorsoJava.java.
Scrivi un commento