I denne vejledning lærer vi om Java autoboxing og unboxing ved hjælp af eksempler.
Java Autoboxing - primitiv type til indpakningsobjekt
I autoboxing konverterer Java-kompilatoren primitive typer automatisk til deres tilsvarende wrapper- klasseobjekter . For eksempel,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing har en stor fordel, når du arbejder 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); ) )
Produktion
ArrayList: (5, 6)
I ovenstående eksempel har vi oprettet en matrixliste af heltalstypen. Derfor kan matrixlisten kun indeholde objekter af Integer
typen.
Bemærk linjen,
list.add(5);
Her passerer vi primitiv type værdi. På grund af autoboksing konverteres den primitive værdi imidlertid automatisk til et Integer
objekt og gemmes i matrixlisten .
Java Unboxing - Indpakningsgenstande til primitive typer
I unboxing konverterer Java-kompilatoren automatisk wrapper-klasseobjekter til deres tilsvarende primitive typer. For eksempel,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Ligesom autoboxing kan unboxing også bruges 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); ) )
Produktion
ArrayList: (5, 6) Værdi ved indeks 0: 5
I ovenstående eksempel bemærk linjen,
int a = list.get(0);
Her get()
returnerer metoden objektet ved indeks 0. På grund af unboxing konverteres objektet dog automatisk til den primitive type int
og tildeles variablen a.