Java autoboxing i unboxing

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 Integertipa.

Primijetite crtu,

 list.add(5); 

Ovdje prenosimo primitivnu vrijednost tipa. Međutim, zbog automatskog boksiranja , primitivna vrijednost automatski se pretvara u Integerobjekt 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 inti dodjeljuje varijabli a.

Zanimljivi članci...