In questo tutorial, impareremo a conoscere l'autoboxing e unboxing di Java con l'aiuto di esempi.
Java Autoboxing - Tipo primitivo per oggetto wrapper
In autoboxing , il compilatore Java converte automaticamente i tipi primitivi nei corrispondenti oggetti di classe avvolgitore. Per esempio,
int a = 56; // autoboxing Integer aObj = a;
L'autoboxing ha un grande vantaggio quando si lavora con le raccolte Java.
Esempio 1: Java Autoboxing
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) )
Produzione
ArrayList: (5, 6)
Nell'esempio sopra, abbiamo creato un elenco di array di tipo Integer. Quindi l'elenco degli array può contenere solo oggetti di Integer
tipo.
Notare la linea,
list.add(5);
Qui stiamo passando il valore del tipo primitivo. Tuttavia, a causa dell'autoboxing , il valore primitivo viene automaticamente convertito in un Integer
oggetto e memorizzato nell'elenco degli array.
Java Unboxing - Oggetti wrapper per tipi primitivi
In unboxing , il compilatore Java converte automaticamente involucro classe oggetti nei corrispondenti tipi primitivi. Per esempio,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Come l' autoboxing , anche l' unboxing può essere utilizzato con le raccolte Java.
Esempio 2: Java Unboxing
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) )
Produzione
ArrayList: (5, 6) Valore con indice 0: 5
Nell'esempio sopra, nota la linea,
int a = list.get(0);
Qui, il get()
metodo restituisce l'oggetto all'indice 0. Tuttavia, a causa dell'unboxing , l'oggetto viene automaticamente convertito nel tipo primitivo int
e assegnato alla variabile a.