Junior
Come effettuare la conversione tra tipi di riferimento e tipi primitivi e viceversa?
sobes.tech AI
Risposta dell'AI
La conversione tra tipi di riferimento (wrapping) e tipi primitivi (unboxing) avviene automaticamente in Java, ma può essere fatta anche esplicitamente.
Autoboxing: Conversione automatica di un tipo primitivo nel corrispondente tipo di riferimento.
int primitiveInt = 10;
// Viene convertito automaticamente in Integer
Integer wrapperInt = primitiveInt;
Unboxing: Conversione automatica di un tipo di riferimento nel corrispondente tipo primitivo.
Integer wrapperInteger = 20;
// Viene convertito automaticamente in int
int primitiveInteger = wrapperInteger;
Conversione esplicita:
Conversione di un tipo di riferimento in un primitivo: usando metodi come intValue(), doubleValue(), ecc.
Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // conversione esplicita
Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // conversione esplicita
Conversione di un tipo primitivo in un tipo di riferimento: usando costruttori di classi wrapper o metodi statici valueOf(). Il metodo valueOf() è preferibile perché può fare cache dei valori.
int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // uso del costruttore (obsoleto)
double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // uso di valueOf()
Tabella delle conversioni:
| Tipo primitivo | Tipo di riferimento |
|---|---|
| boolean | Boolean |
| byte | Byte |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |