¿Qué es Autoboxing en Java? con ejemplos

Publicado: 2023-01-28

En el mundo contemporáneo, Java es la opción reconocida para crear secuencias de comandos de aplicaciones de Android. También encuentra una gran demanda en el entorno de aprendizaje automático, las aplicaciones en la nube y la tecnología IOT. Los desarrolladores deben tener un conocimiento profundo de las tendencias recientes en la programación de Java. Se asegura una perspectiva profesional lucrativa para los desarrolladores de Java porque el lenguaje tiene una presencia firme en la empresa. Java no solo es un lenguaje orientado a objetos líder en el mercado de aplicaciones móviles de Android, sino también en el campo del mercado back-end.

Tabla de contenido

Conceptos básicos de autoboxing en Java:

Al escribir un programa, los tipos de datos primitivos se utilizan en la mayoría de los lenguajes de programación. Sin embargo, en los lenguajes de programación orientados a objetos como Java, los tipos de datos primitivos no son efectivos en algunos escenarios y se quedan cortos en el ámbito. Para superar las limitaciones de los tipos de datos primitivos, se utilizan envoltorios. Este fenómeno se llama autoboxeo. Discutamos más sobre el autoboxing en Java en las secciones siguientes.

Consulte nuestros cursos de tecnología gratuitos para obtener una ventaja sobre la competencia.

Explore nuestros cursos populares de ingeniería de software

Maestría en Ciencias en Ciencias de la Computación de LJMU & IIITB Programa de Certificado de Ciberseguridad Caltech CTME
Bootcamp de desarrollo de pila completa Programa PG en Blockchain
Programa Ejecutivo PG en Desarrollo Full Stack
Ver todos nuestros cursos a continuación
Cursos de ingeniería de software

Autoboxing y Autounboxing:

Autoboxing es el proceso de conversión de un valor primitivo en un objeto de clase contenedora. Por ejemplo, un tipo de datos int se convierte en una clase entera. La función de autoboxeo la realiza un compilador de Java si el valor primitivo es:

  • Asignado a una variable de la clase contenedora respectiva.
  • Pasado como argumento a un método que usa un objeto de la clase contenedora respectiva.

Autoboxing es un reverso de la función de autoboxing. La conversión de un objeto de tipo contenedor a su valor primitivo respectivo se denomina unboxing. Consideremos un ejemplo de un objeto Integer convertido en un tipo de datos int. El compilador de Java realiza el desempaquetado cuando un objeto de clase contenedora es:

  • Se le asigna una variable del tipo primitivo respectivo.
  • Pasado como argumento a un método que requiere el valor del tipo primitivo correspondiente.

Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.

Habilidades de desarrollo de software bajo demanda

Cursos de JavaScript Cursos básicos de Java Cursos de Estructuras de datos
Cursos de Node.js Cursos SQL Cursos de desarrollo de pila completa
Cursos NFT Cursos DevOps Cursos de Big Data
Cursos de React.js Cursos de Seguridad Cibernética Cursos de computación en la nube
Cursos de diseño de base de datos Cursos de Python Cursos de Criptomonedas

Autoboxing en detalle:

Los términos boxeo y autoboxing se usan alternativamente en muchos casos para describir el mismo concepto. Sin embargo, hay una diferencia sutil entre los dos términos. El término 'boxeo' se refiere al envoltorio de un tipo de datos primitivo para formar un objeto. Consideremos un ejemplo para entender este concepto. Considere la declaración del código Java escrita a continuación.

int PrimerNúmero = 1;

En esta declaración, la variable 'FirstNumber' es del tipo de datos int, que es primitivo. Se puede convertir en un objeto usando la siguiente declaración.

Entero Segundo Número = nuevo Entero (2);

La variable SecondNumber en la declaración anterior no es del tipo de datos int primitivo. En cambio, es un objeto Integer. Este proceso de conversión de tipos primitivos de datos en un objeto se denomina encajonamiento. La forma más sencilla de realizar esta tarea es desarrollar una clase que contenga un solo atributo de tipo de datos int. Se asigna un constructor de valor de tipo int al atributo de clase. Se utilizan varios métodos para manipular el valor int. Las clases contenedoras en Java se pueden usar para habilitar la conversión de otros tipos de datos en un objeto.

Autoboxing es la función que realiza automáticamente el compilador sin mencionarla explícitamente.

MiLista.add(Integer.valueOf(i));

Esta es la línea agregada por el compilador a nuestro programa.

En la declaración del código anterior, el nombre de la clase 'Integer' se especifica antes de mencionar el método valueOf() porque valueOf() es un método estático.

Lea nuestros artículos populares relacionados con el desarrollo de software

¿Cómo implementar la abstracción de datos en Java? ¿Qué es la clase interna en Java? Identificadores de Java: definición, sintaxis y ejemplos
Comprender la encapsulación en OOPS con ejemplos Argumentos de línea de comando en C explicados Las 10 funciones y características principales de la computación en la nube en 2022
Polimorfismo en Java: conceptos, tipos, características y ejemplos ¿Paquetes en Java y cómo usarlos? Tutorial de Git para principiantes: Aprende Git desde cero

¿Qué es unboxing en Java?

Ahora que hemos entendido el proceso de conversión de tipos de datos primitivos en objetos, veamos el proceso que realiza la función inversa del encuadre. Unboxing, como se mencionó anteriormente, se refiere al proceso de conversión de un objeto del tipo de clase contenedora en sus tipos de datos primitivos.

Cuando el compilador realiza automáticamente el proceso de desempaquetado sin mencionarlo explícitamente en el programa, se denomina desempaquetado automático. Consideremos el ejemplo que se muestra a continuación para comprender el desempaquetado automático.

Más acerca de las clases contenedoras:

En el ejemplo de autoboxing, la variable I es del tipo de datos int y el objeto Integer es una clase contenedora. La clase contenedora en Java está disponible para todos los tipos de datos primitivos. Estas clases permiten al usuario la conversión de una variable de tipo de datos primitivo al objeto correspondiente del tipo de clase contenedora. Los métodos de la clase contenedora se utilizan en la manipulación de los valores. Los tipos de datos primitivos y sus respectivas clases contenedoras se resumen en la siguiente tabla. Tenga en cuenta que el nombre de las clases contenedoras comienza con una letra mayúscula.

Tipo de datos primitivo

Clase contenedora correspondiente

byte Byte
booleano booleano
carbonizarse Personaje
En t Entero
flotar Flotar
Pequeño Pequeño
Largo Largo
doble Doble

Méritos de Autoboxing y auto unboxing en Java:

  • El proceso de autoboxing y unboxing permite a los programadores escribir un código bien estructurado y fácil de leer.
  • El proceso también permite a los usuarios cambiar alternativamente entre los tipos de datos primitivos y los objetos de la clase contenedora. Por lo tanto, no se requiere el encasillamiento explícito.

Si está interesado en obtener más información sobre Java, desarrollo de software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software: especialización en desarrollo de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de formación rigurosa. , más de 9 proyectos y asignaciones, estado de exalumno de IIIT-B, proyectos finales prácticos prácticos y asistencia laboral con las mejores empresas.

¿Quieres compartir este articulo?

Prepárese para una carrera del futuro

Solicite ahora la Maestría en Ingeniería de Software