Java autoboxing a unboxing

V tomto výukovém programu se na příkladech seznámíme s automatickým boxem a unboxingem Java.

Java Autoboxing - primitivní typ k obalovému objektu

V autoboxingu kompilátor Java automaticky převede primitivní typy na jejich odpovídající objekty třídy obalů. Například,

 int a = 56; // autoboxing Integer aObj = a; 

Autoboxing má velkou výhodu při práci s kolekcemi Java.

Příklad 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); ) ) 

Výstup

 ArrayList: (5, 6) 

Ve výše uvedeném příkladu jsme vytvořili seznam polí typu Integer. Seznam matic tedy může obsahovat pouze objekty Integertypu.

Všimněte si řádku,

 list.add(5); 

Tady předáváme hodnotu primitivního typu. Kvůli autoboxingu se však primitivní hodnota automaticky převede na Integerobjekt a uloží se do seznamu polí.

Java Unboxing - zabalení objektů do primitivních typů

V unboxingu kompilátor Java automaticky převede objekty třídy wrapper na odpovídající primitivní typy. Například,

 // autoboxing Integer aObj = 56; // unboxing int a = aObj; 

Stejně jako autoboxing , rozbalení lze použít také s kolekcí Java.

Příklad 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); ) ) 

Výstup

 ArrayList: (5, 6) Hodnota v indexu 0: 5 

Ve výše uvedeném příkladu si všimněte řádku,

 int a = list.get(0); 

Zde get()metoda vrací objekt na index 0. Kvůli rozbalení je však objekt automaticky převeden na primitivní typ inta přiřazen k proměnné a.

Zajímavé články...