Java autoboxing og unboxing

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 Integertypen.

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 Integerobjekt 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 intog tildeles variablen a.

Interessante artikler...