I denna handledning lär vi oss om Java-autoboxing och unboxing med hjälp av exempel.
Java Autoboxing - Primitive Type to Wrapper Object
I autoboxing konverterar Java-kompilatorn automatiskt primitiva typer till motsvarande omslagsklassobjekt. Till exempel,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing har en stor fördel när du arbetar med Java-samlingar.
Exempel 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 exemplet ovan har vi skapat en matrislista av heltalstyp. Därför kan matrislistan bara innehålla objekt av Integer
typen.
Lägg märke till raden,
list.add(5);
Här passerar vi primitivt typvärde. Men på grund av autoboxning konverteras det primitiva värdet automatiskt till ett Integer
objekt och lagras i matrislistan.
Java Unboxing - Wrapper Objects to Primitive Typer
Vid avboxning omvandlar Java-kompilatorn automatiskt omslagsklassobjekt till motsvarande primitiva typer. Till exempel,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Liksom autoboxing kan unboxing också användas med Java-samlingar.
Exempel 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ärde vid index 0: 5
Lägg märke till raden i exemplet ovan,
int a = list.get(0);
Här get()
returnerar metoden objektet till index 0. På grund av unboxing konverteras objektet automatiskt till den primitiva typen int
och tilldelas variabeln a.