I denne opplæringen vil vi lære om Java autoboksing og unboxing ved hjelp av eksempler.
Java Autoboxing - Primitive Type to Wrapper Object
I autoboksing konverterer Java-kompilatoren automatisk primitive typer til deres tilsvarende emballasjeklasseobjekter. For eksempel,
int a = 56; // autoboxing Integer aObj = a;
Autoboksing har en stor fordel når du arbeider med Java-samlinger.
Eksempel 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); ) )
Produksjon
ArrayList: (5, 6)
I eksemplet ovenfor har vi opprettet en matriseliste av Heltallstype. Derfor kan matriselisten bare inneholde objekter av Integer
typen.
Legg merke til linjen,
list.add(5);
Her passerer vi primitiv typeverdi. På grunn av autoboksing konverteres imidlertid den primitive verdien automatisk til et Integer
objekt og lagres i matriselisten .
Java Unboxing - Wrapper Objects to Primitive Typer
I unboxing konverterer Java-kompilatoren automatisk emballasjeklasseobjekter til tilsvarende primitive typer. For eksempel,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
I likhet med autoboksing kan unboxing også brukes med Java-samlinger.
Eksempel 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); ) )
Produksjon
ArrayList: (5, 6) Verdi ved indeks 0: 5
Legg merke til linjen i eksemplet ovenfor,
int a = list.get(0);
Her get()
returnerer metoden objektet til indeks 0. På grunn av unboxing blir objektet imidlertid automatisk konvertert til den primitive typen int
og tildelt variabelen a.