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 Integerin a Stringe utilizziamo il length()metodo della Stringclasse 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());
  }
}