Sono classi che permettono di convertire i valori di un tipo primitivo in un oggetto, forniscono metodi di accesso e visualizzazione di valori.
| tipo primitivo | Classe wrapper | Argomenti del costruttore |
|---|---|---|
| byte | Byte | byte o String |
| short | Short | short o String |
| int | Integer | int o String |
| long | Long | long o String |
| float | Float | float, double o String |
| double | Double | double o String |
| char | Character | char |
| boolean | Boolean | boolean o String |
N.B.: NON POSSIAMO USARE
==per confrontare gli oggetti, invece dobbiamo usareequals(), che restituisce true se e solo se l’oggetto in input è un intero di valore uguale al proprio ecompareTo()che restituisce 0 se sono uguali, un numero minore di 0 se il proprio valore è minore di quello in ingresso e un numero maggiore di 0 altrimenti.
Autoboxing
L’autoboxing converte automaticamente il tipo primitivo al suo tipo wrapper.
Esempio:
Integer k = 3;
Integer[] array = {5, 3, 7, 8, 9};Auto-unboxing
L’auto-unboxing converte automaticamente il tipo wrapper al suo equivalente tipo primitivo.
// segue il codice dell'esempio precedente
int j = k;
int n = array[j];Wrapper vs tipi primitivi
N.B.: molto spesso conviene usare i tipi primitivi più tosto che i wrapper, perché pesano meno in memoria.