U ovom ćemo tutorijalu uz primjere naučiti o Java autoboxingu i raspakiranju.
Java Autoboxing - primitivni tip za omotački objekt
U automatskom kutiranju Java kompajler automatski pretvara primitivne tipove u odgovarajuće objekte klase omota. Na primjer,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing ima veliku prednost tijekom rada s Java kolekcijama.
Primjer 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); ) )
Izlaz
Popis polja: (5, 6)
U gornjem primjeru stvorili smo popis polja tipa Integer. Stoga popis polja može sadržavati samo objekte Integer
tipa.
Primijetite crtu,
list.add(5);
Ovdje prenosimo primitivnu vrijednost tipa. Međutim, zbog automatskog boksiranja , primitivna vrijednost automatski se pretvara u Integer
objekt i pohranjuje na popis polja.
Otpakivanje Java - omotač objektima primitivnim vrstama
U raspakiranju , Java kompajler automatski pretvara objekte klase omota u odgovarajuće primitivne tipove. Na primjer,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Poput automatskog boksanja , i unboxing se može koristiti s Java kolekcijama.
Primjer 2: Otpakiranje 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); ) )
Izlaz
ArrayList: (5, 6) Vrijednost u indeksu 0: 5
U gornjem primjeru, primijetite redak,
int a = list.get(0);
Ovdje get()
metoda vraća objekt s indeksom 0. Međutim, zbog otpakiranja , objekt se automatski pretvara u primitivni tip int
i dodjeljuje varijabli a.