Java autoboximine ja lahtipakkimine

Selles õpetuses õpime näidete abil Java autoboximist ja kastivälistamist.

Java Autoboxing - primitiivne tüüp ümbriseobjektile

In autoboxing , Java kompilaator automaatselt teisendab primitiivne tüüpi oma vastava ümbrise klassi objektide kohta. Näiteks,

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

Autokastil on Java-kollektsioonidega töötamisel suur eelis.

Näide 1: Java automaatne boksimine

 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äljund

 ArrayList: (5, 6) 

Ülaltoodud näites oleme loonud täisarvu massiivi loendi. Seega saab massiivide loendisse mahutada ainult Integertüüpi objekte .

Pange tähele joont,

 list.add(5); 

Siin edastame primitiivse tüübi väärtuse. Autoboksimise tõttu teisendatakse aga primitiivne väärtus automaatselt Integerobjektiks ja salvestatakse massiivide loendisse.

Java Unboxing - ümbriste esemed ürgsetele tüüpidele

In lahtipakkimisvideod , Java kompilaator automaatselt teisendab ümbris klassi objektid oma vastavate primitiivne tüüpi. Näiteks,

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

Nagu autoboxing , lahtipakkimisvideod saab kasutada ka koos Java kogud.

Näide 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äljund

 ArrayList: (5, 6) Väärtus indeksis 0: 5 

Ülaltoodud näites märkake rida,

 int a = list.get(0); 

Siin get()tagastab meetod objekti indeksile 0. Kuid kastivälise pakkimise tõttu teisendatakse objekt automaatselt primitiivseks tüübiks intja määratakse muutujale a.

Huvitavad Artiklid...