У овом упутству ћемо научити о Јава аутобокингу и распакирању помоћу примера.
Јава Аутобокинг - примитивни тип за омотач
У аутоматском боксању , Јава компајлер аутоматски претвара примитивне типове у одговарајуће објекте класе омотача. На пример,
int a = 56; // autoboxing Integer aObj = a;
Аутобокинг има велику предност током рада са Јава колекцијама.
Пример 1: Јава Аутобокинг
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); ) )
Оутпут
АрраиЛист: (5, 6)
У горњем примеру смо креирали низ поља типа Интегер. Стога листа поља може садржати само објекте Integer
типа.
Обратите пажњу на линију,
list.add(5);
Овде преносимо примитивну вредност типа. Међутим, због аутоматског боксања , примитивна вредност се аутоматски претвара у Integer
објекат и чува на листи низова.
Отпакивање Јава - омотач објектима примитивним типовима
При отпакивању , Јава компајлер аутоматски претвара објекте класе омотача у одговарајуће примитивне типове. На пример,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Као и аутоматско паковање , Унбокинг може да се користи са Јава колекцијама.
Пример 2: Отпакивање Јава-а
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); ) )
Оутпут
АрраиЛист: (5, 6) Вредност у индексу 0: 5
У горњем примеру, обратите пажњу на ред,
int a = list.get(0);
Овде get()
метода враћа објект са индексом 0. Међутим, због отпакивања , објекат се аутоматски претвара у примитивни тип int
и додељује променљивој а.