Java autoboxing a unboxing

V tomto tutoriále sa pomocou príkladov dozvieme o Java autoboxingu a unboxingu.

Java Autoboxing - primitívny typ na obalový objekt

V automatickom prezeraní kompilátor Java automaticky prevádza primitívne typy na príslušné objekty triedy wrapper. Napríklad,

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

Autoboxing má veľkú výhodu pri práci s kolekciami Java.

Prí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ýkon

 ArrayList: (5, 6) 

Vo vyššie uvedenom príklade sme vytvorili zoznam polí typu Integer. Zoznam polí preto môže obsahovať iba objekty Integertypu.

Všimnite si riadok,

 list.add(5); 

Tu odovzdávame hodnotu primitívneho typu. Vďaka autoboxu sa však primitívna hodnota automaticky prevedie na Integerobjekt a uloží sa do zoznamu polí.

Unboxing Java - objekty obalu na primitívne typy

V unboxingu kompilátor Java automaticky prevádza objekty triedy wrapper na zodpovedajúce primitívne typy. Napríklad,

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

Rovnako ako autoboxing , aj unboxing možno použiť so zbierkami Java.

Prí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ýkon

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

Vo vyššie uvedenom príklade si všimnite riadok,

 int a = list.get(0); 

Tu get()metóda vracia objekt na index 0. Avšak kvôli unboxingu sa objekt automaticky prevedie na primitívny typ inta priradí sa k premennej a.

Zaujímavé články...