Classi wrapper Java
Classi wrapper Java
Le classi wrapper forniscono un modo per utilizzare i tipi di dati primitivi ( int
, boolean
, ecc..) come oggetti.
La tabella seguente mostra il tipo primitivo e la classe wrapper equivalente:
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
A volte è necessario utilizzare classi wrapper, ad esempio quando si lavora con oggetti Collection, come ArrayList
, dove non è possibile utilizzare tipi primitivi (l'elenco può memorizzare solo oggetti):
Esempio
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
Creazione di oggetti wrapper
Per creare un oggetto wrapper, usa la classe wrapper invece del tipo primitivo. Per ottenere il valore, puoi semplicemente stampare l'oggetto:
Esempio
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt);
System.out.println(myDouble);
System.out.println(myChar);
}
}
Poiché ora stai lavorando con gli oggetti, puoi utilizzare determinati metodi per ottenere informazioni sull'oggetto specifico.
Ad esempio, i seguenti metodi vengono utilizzati per ottenere il valore associato all'oggetto wrapper corrispondente: intValue()
, byteValue()
, shortValue()
, longValue()
,
floatValue()
, doubleValue()
, charValue()
,
booleanValue()
.
Questo esempio produrrà lo stesso risultato dell'esempio sopra:
Esempio
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt.intValue());
System.out.println(myDouble.doubleValue());
System.out.println(myChar.charValue());
}
}
Un altro metodo utile è il toString()
metodo, che viene utilizzato per convertire oggetti wrapper in stringhe.
Nell'esempio seguente, convertiamo an Integer
in a String
e utilizziamo il length()
metodo della String
classe per generare la lunghezza della "stringa":
Esempio
public class Main {
public static void main(String[] args) {
Integer myInt = 100;
String myString = myInt.toString();
System.out.println(myString.length());
}
}