Ebben az oktatóanyagban példák segítségével megismerhetjük a Java autoboxingot és az unboxingot.
Java Autoboxing - Primitív típus a tekercselő objektumhoz
Az autoboxolásban a Java fordító automatikusan átalakítja a primitív típusokat a megfelelő burkoló osztályobjektumokká. Például,
int a = 56; // autoboxing Integer aObj = a;
Az autoboxolásnak nagy előnye van a Java-gyűjteményekkel való munka közben.
1. példa: 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); ) )
Kimenet
ArrayList: (5, 6)
A fenti példában létrehoztunk egy egész szám típusú tömb listát. Ezért a tömblista csak Integer
típusú objektumokat tartalmazhat .
Figyelje meg a sort,
list.add(5);
Itt egy primitív típusú értéket adunk át. Azonban az autoboxolás miatt a primitív érték automatikusan átalakul Integer
objektummá és tárolódik a tömblistában .
Java Unboxing - Wrapper objektumok primitív típusokhoz
Az unboxing , a Java fordító automatikusan konvertálja wrapper class tárgyak azok megfelelő primitív típusokat. Például,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Mint autoboxing , kicsomagolós is fel lehet használni a Java gyűjtemények.
2. példa: 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); ) )
Kimenet
ArrayList: (5, 6) Érték a 0: 5 indexnél
A fenti példában vegye észre a sort,
int a = list.get(0);
Itt a get()
metódus az objektumot a 0. indexen adja vissza. Az unboxing miatt azonban az objektum automatikusan átalakul primitív típusúvá int
és hozzárendelhető az a változóhoz.