Hola te saluda nuevamente Ubaldo Acosta.
Espero que estén listos para comenzar con esta elección.
A continuación vamos a estudiar el tema de auto Boxing y un Boxing enviaba están listos.
Vamos atu Boxing y un Boxing en IAVA.
El concepto de auto Boxing y boxing es simple pero poderoso auto boxing es el proceso en el cual el
compilador hace de manera automática una conversión de un tipo primitivo a un tipo hobbie.
Por ejemplo en el código mostrado podemos observar que la literal 10 se asigna directamente a una variable
de tipo integer llamada entero Object o entero o BJ así que este valor es un primitivo y se asigna directamente
a una variable de tipo integer la cual es un tipo obvie.
Esta clase integral se conoce como una clase envolvente o rapper del tipo primitivo int y es la que
permite el proceso de conversión de manera automática entre tipos primitivos y objetos de tipo entero.
Existe un tipo de clase envolvente por cada uno de los tipos primitivos existentes los cuales veremos
más adelante.
El proceso de auto Boxing no requiere de hacer ningún tipo de conversión entre tipos primitivos y objetos
siempre y cuando utilicemos el tipo envolvente equivalente al tipo primitivo que se está intentando
convertir de manera automática y así en cada uno de estos ejemplos podemos observar que el tipo primitivo
correspondiente se asigna a un tipo obvie en este caso el tipo primitivo flotante en la litera flotante
15.2.
Para ello estamos indicando que es flotante se asigna a una variable de tipo float y esto es un objeto
y por lo tanto a partir de este momento se le puede dar tratamiento de un objeto y no únicamente de
un tipo primitivo.
Y finalmente tenemos la literal 40 punto 1 la cual en automático es de tipo dual y se asigna a una variable
de tipo obvie llamada Doble o BJ y podemos observar que no hay necesidad de hacer ninguna conversión
en automático.
El compilador hace esta conversión por nosotros por otro lado tenemos el proceso inverso el cual es
el proceso de Unboxing es decir un objeto de tipo envolvente se puede convertir de manera automática
a un tipo primitivo sin necesidad de aplicar ninguna conversión entre objetos y tipos primitivos tal
como podemos observar en el código mostrado.
De esta manera es muy sencillo trabajar con tipos primitivos pero cuando necesitamos utilizar las ventajas
de un objeto IAVA podemos utilizar la clase envolvente respectiva así que también tenemos el proceso
inverso en el cual podemos tomar un objeto de una clase rapper.
En este caso de la clase integer y de manera automática podemos asignar el valor de esta variable la
cual es de tipo objeto a una variable de tipo primitivo.
Más adelante veremos el proceso de conversión de objetos en el cual veremos que es necesario indicar
un cast o conversión.
Cuando vamos a hacer conversión entre objetos.
Sin embargo debido a que estamos utilizando en este momento el concepto de auto Boxing y unboxing que
básicamente consiste en utilizar la clase equivalente de un tipo primitivo a un tipo obvie no hay necesidad
de hacer esta conversión.
Por lo tanto podemos asignar directamente el valor del objeto integer a un tipo primitivo equivalente
de tipo entero y así en cada uno de los objetos que estamos trabajando en este caso de tipo flotante
lo podemos asignar a una variable de tipo primitivo float y finalmente un objeto de tipo doble lo podemos
asignar a una variable de tipo doble y esta variable es de tipo primitivo recuerden que el estudio de
los tipos primitivos lo vimos a detalle en el curso de Fundamentos de IAVA
continuando con lo anterior podemos observar ahora en la tabla el tipo primitivo y su clase envolvente
equivalente.
Podemos observar que según las convenciones de IAVA la clase envolvente está escrita con mayúscula y
así podemos identificar rápidamente si estamos tratando con un tipo primitivo o con un tipo obvie.
Varias de estas clases envolventes descienden de una clase llamada nombre y esta clase a su vez es la
que define muchos de los métodos que las clases que sean de tipo numérico pueden utilizar esta clase
contiene los métodos para realizar la conversión a distintos tipos de datos según se necesite.
Por ejemplo sin importar de qué tipo numérico se trate podemos solicitar que nos regrese el valor correspondiente
a un primitivo de tipo Veidt sort int long float o doble.
De esta manera podremos convertir el dato contenido por la clase envolvente a cualquiera de los tipos
mencionados así que esta es una de las ventajas de utilizar una clase envolvente una clase y no un tipo
primitivo ya que si hemos asignado el valor primitivo a una clase de tipo envolvente podremos solicitar
la conversión por medio de los métodos de la clase envolvente sin necesidad de hacer una conversión
manual sino que en automático solicitando el método respectivo al método de la clase envolvente podremos
obtener la conversión al tipo primitivo que deseemos en resumen el concepto de Boxing y unboxing permite
escribir código más simple y más sencillo de leer cuando estamos hablando de conversiones entre tipos
primitivos y tipos obvie esto sin necesidad de realizar tantas conversiones entre objetos y tipos primitivos
como se tenía que realizar antes de la versión 5 de IAVA.
Vamos a desarrollar un ejercicio para aplicar este concepto.