În acest tutorial, vom afla despre Java autoboxing și unboxing cu ajutorul exemplelor.
Java Autoboxing - Primitive Type to Wrapper Object
În autoboxing , compilatorul Java convertește automat tipurile primitive în obiectele lor corespunzătoare din clasa wrapper. De exemplu,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing-ul are un mare avantaj în timp ce lucrați cu colecțiile Java.
Exemplul 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); ) )
Ieșire
ArrayList: (5, 6)
În exemplul de mai sus, am creat o listă matrice de tip întreg. Prin urmare, lista de matrice poate conține numai obiecte de Integer
tip.
Observați linia,
list.add(5);
Aici, trecem valoare de tip primitiv. Cu toate acestea, datorită autoboxing-ului , valoarea primitivă este convertită automat într-un Integer
obiect și stocată în lista matrice.
Java Unboxing - Obiecte Wrapper la tipuri primitive
În unboxing , compilatorul Java convertește automat obiectele din clasa wrapper în tipurile lor primitive corespunzătoare. De exemplu,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
La fel ca autoboxing-ul , unboxing-ul poate fi utilizat și cu colecțiile Java.
Exemplul 2: Unboxing Java
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); ) )
Ieșire
ArrayList: (5, 6) Valoare la index 0: 5
În exemplul de mai sus, observați linia,
int a = list.get(0);
Aici, get()
metoda returnează obiectul la indexul 0. Cu toate acestea, datorită dezabonării , obiectul este convertit automat în tipul primitiv int
și atribuit variabilei a.