En este tutorial, aprenderemos sobre el autoboxing y unboxing de Java con la ayuda de ejemplos.
Autoboxing de Java: tipo primitivo para envolver objeto
En el autoboxing , el compilador de Java convierte automáticamente los tipos primitivos en sus correspondientes objetos de clase contenedora. Por ejemplo,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing tiene una gran ventaja al trabajar con colecciones de Java.
Ejemplo 1: Autoboxing de Java
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); ) )
Salida
ArrayList: (5, 6)
En el ejemplo anterior, hemos creado una lista de matrices de tipo Integer. Por lo tanto, la lista de matrices solo puede contener objetos de Integer
tipo.
Note la línea,
list.add(5);
Aquí, estamos pasando un valor de tipo primitivo. Sin embargo, debido al autoboxing , el valor primitivo se convierte automáticamente en un Integer
objeto y se almacena en la lista de matrices.
Unboxing de Java: objetos de envoltura a tipos primitivos
Al desempaquetar , el compilador de Java convierte automáticamente los objetos de la clase contenedora en sus correspondientes tipos primitivos. Por ejemplo,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Al igual que autoboxing , unboxing también se puede utilizar con colecciones de Java.
Ejemplo 2: Unboxing de Java
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); ) )
Salida
ArrayList: (5, 6) Valor en el índice 0: 5
En el ejemplo anterior, observe la línea,
int a = list.get(0);
Aquí, el get()
método devuelve el objeto en el índice 0. Sin embargo, debido al desempaquetado , el objeto se convierte automáticamente en el tipo primitivo int
y se asigna a la variable a.