Java autoboxing ir išpakavimas

Šioje pamokoje, naudodamiesi pavyzdžiais, sužinosime apie „Java“ automatinį naršymą ir dėžutės išpakavimą.

„Java Autoboxing“ - primityvus objekto tipas įvyniotojui

Be autoboxing , Java kompiliatorius automatiškai konvertuoja primityvius tipus į jų atitinkamų įvynioti klasės objektų. Pavyzdžiui,

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

„Autoboxing“ turi didelį pranašumą dirbant su „Java“ kolekcijomis.

1 pavyzdys: „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); ) ) 

Rezultatas

 Masyvo sąrašas: (5, 6) 

Ankstesniame pavyzdyje mes sukūrėme sveikojo tipo masyvų sąrašą. Taigi masyvų sąraše gali būti tik Integertipo objektai .

Atkreipkite dėmesį į eilutę,

 list.add(5); 

Čia mes perduodame primityvią tipo vertę. Tačiau dėl autoboksavimo pirminė reikšmė automatiškai paverčiama Integerobjektu ir saugoma masyvų sąraše.

„Java Unboxing“ - „Wrapper“ objektai, skirti primityviems tipams

Be Unboxing , Java kompiliatorius automatiškai konvertuoja įvynioti klasės objektai į jų atitinkamų primityvių tipų. Pavyzdžiui,

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

Kaip autoboxing , Unboxing taip pat gali būti naudojamas su "Java" kolekcijų.

2 pavyzdys: „Java“ neišpakavimas

 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); ) ) 

Rezultatas

 „ArrayList“: (5, 6) Indekso 0: 5 vertė 

Ankstesniame pavyzdyje atkreipkite dėmesį į eilutę,

 int a = list.get(0); 

Čia get()metodas grąžina objektą į indeksą 0. Tačiau dėl neišpakavimo objektas automatiškai konvertuojamas į primityvų tipą intir priskiriamas kintamajam a.

Įdomios straipsniai...