Hola y bienvenidos a esta elección.
A continuación vamos a ver el tema de auto Boxing y un Boxing en Llada están listos.
Vamos bien vamos a ver nuestro IDEP si tenemos algún proyecto abierto vamos a cerrarlo damos clic derecho
Clowes posteriormente damos clic en File seleccionamos mi proyecto ya va web Maiden y Java Application
damos sigue Next y el nombre del proyecto se va a llamar atu Boxing
un Boxing y lo depositamos en la carpeta de cursos Llavona aullaba el nombre de drupa y 10 cm MX con
G.M. de Global mentoring.
La versión 1.0 y dejamos el nombre del paquete vacío damos clic en Finalizar bien vamos a crear una
nueva clase damos trigueño ya va Clas y la clase se llama auto Boxing
Boxing y lo depositamos en el paquete de test damos surgió en finalizar quitamos estos comentarios y
agregamos un método main Public estatico y Main tabulador bien con eso ya tenemos nuestra clase para
comenzar a trabajar.
Básicamente el concepto de auto Boxing y Boxing quiero decir que podemos asignar tipos primitivos hacia
su clase envolvente así que también otro nombre que recibe este tipo de concepto se conoce como clases
envolventes y vamos a ver algunos ejemplos de cómo podemos envolver tipos primitivos en clases sóviet
pero también el proceso inverso de extraer un valor de una clase envolvente hacia un tipo primitivo.
Se conoce como Boxing así que vamos a ver lo siguiente Primero vamos a ver el concepto de auto Boxing
donde envolvemos tipos primitivos
en clases de tipo rapero es decir envolventes vamos a probar con el tipo primitivo más básico si definimos
una literal 10 normalmente esta literal la hemos tenido que asignar a una variable de tipo entero
pero hasta aquí tenemos únicamente un tipo primitivo la clase envolvente del tipo int es la clase integrar
y podemos observar que el compilador no tiene ningún problema para asignar una literal de tipo primitivo
de tipo entero y asignarlo a la clase de tipo integrar vamos a imprimir el valor ese Addy tabulador
guardamos cambios y ejecutamos
y podemos observar que el valor que contiene esta clase integral es el valor de 10 que es la literal
de tipo entero que le hemos asignado al inicio así que podemos recuperar sin ningún problema el valor
de tipo primitivo y también de manera explícita si lo quisiéramos recuperar.
Podemos solicitar el valor entero utilizando el método in valio es otra forma de recuperar y asegurarnos
que está regresando el tipo entero primitivo ejecutamos y observamos el mismo resultado.
Sin embargo para qué hacemos esto de convertir tipos primitivos a tipos horiek.
Tenemos varias ventajas.
Por ejemplo una de ellas es que a través de la variable que ya es de tipo objeto podemos ejecutar varios
métodos.
A diferencia de los tipos primitivos que no tienen acceso a métodos en el caso de tener un tipo integral
que ya es de tipo Object tenemos acceso a los métodos como por ejemplo para recuperar el valor de tipo
Bayt recuperar el valor pero utilizando un tipo float como ya hemos visto el valor entero.
También un tipo long y por ejemplo también convertirlo a un tipo string hace que una vez que ya tenemos
una clase envolvente entonces podemos acceder a los métodos de dicha clase.
Esa es la ventaja de envolver tipos primitivos a tipos obvie y esta clase si damos control y nos posicionamos
sobre la clase integral podemos observar que extiende la clase nombre y como comenta la clase integrar
esta clase envuelve un tipo primitivo de tipo entero y lo convierte a un objeto bien así que esa es
la manera de convertir un tipo primitivo int a una clase de tipo integral.
Y ahora el proceso inverso se conoce como unboxing en el cual extraemos
el tipo primitivo del objeto envolvente vamos a cambiar el nombre de esta variable ya que éste es la
variable entero pero de tipo obvie y ahora vamos a declarar la variable entero pero que es de tipo primitivo
y para recuperar el valor de la clase entero bien
basta con asignar el valor que contiene esta clase de tipo integer y asignarlo al tipo primitivo y podemos
ver que esta asignación ocurre sin ningún problema es decir que de manera automática el compilador va
a extraer el valor entero que contiene este objeto y lo va a asignar a esta variable primitiva.
Vamos a imprimir el valor para observar el resultado
guardamos cambios y ejecutamos y podemos observar que el entero Object que imprime el valor de 10 como
ya lo habíamos revisado pero ahora la variable primitiva también imprime el mismo valor
así que lo que hicimos básicamente fue recuperar el valor que contenía la clase envolvente y lo asignamos
a un tipo primitivo.
Podemos observar que no tenemos necesidad de hacer ningún tipo de casting tanto al asignar el valor
primitivo hacia la clase envolvente pero tampoco al recuperar el valor de la clase envolvente y asignarlo
al tipo primitivo en ninguno de los casos tenemos que hacer ningún tipo de conversión.
Esto lo va a hacer en automático el compilador y así podemos probar con cualquier otro tipo de objetos
por ejemplo para el tipo float declaramos una variable flou o BJ y asignamos una literal flotante y
mandamos a imprimir esta variable y posteriormente hacemos el proceso de unboxing.
Declaramos una variable
llamada flotante y le asignamos el valor de la clase envolvente Flock o DJ y mandamos a imprimir esta
variable guardamos cambios y ejecutamos
y podemos observar que para este caso es exactamente lo mismo.
Primero asignamos el valor de 15.4 pero indicamos que es un tipo flotante y lo asignamos a nuestro objeto
de tipo float sin necesidad de hacer ningún tipo de conversión y posteriormente el valor de nuestro
objeto flotante lo asignamos a la variable primitiva llamada flotante la mandamos a imprimir y podemos
ver que recuperamos exactamente el mismo valor pero tenemos la ventaja de la clase envolvente.
Por ejemplo si quisiéramos recuperar un entero a partir del float entonces tendríamos que hacer lo siguiente
usamos el objeto flotante float Object punto y podemos recuperar el valor entero solicitamos el método
invalido.
Vamos a ver qué es lo que imprime.
Guardamos cambios y ejecutamos
y podemos ver que realiza la conversión de un tipo flotante de 15.4 y lo convierte a un tipo entero
es decir sin la parte flotante.
Por lo tanto tenemos el valor de 15 así que también estas clases envolventes nos van a permitir hacer
conversiones más fácilmente entre los tipos primitivos.
Ya no vamos a tener que estar haciendo directamente las conversiones sino que si envolvemos nuestros
tipos primitivos en esas clases envolventes.
Después podemos utilizar los métodos para realizar las conversiones que necesitemos y se les vea como
ejercicio probar cada una de las clases envolventes.
Este es el listado de las clases envolventes
listado de clases envolventes
el tipo primitivo bullían tiene su clase envolvente llamada bullían la clase Bayt tiene su clase envolvente
Bayt y así con los demás elementos el tipo primitivo Char tiene su clase asociada cáracter.
En algunos casos el nombre de la clase envolvente cambia como es el caso de Char y también el caso de
integrar las demás clases envolvente se llama igual que el tipo primitivo el tipo primitivo short tiene
su clase envolvente llamada Llort el tipo hinque ya revisamos su clase envolvente es la clase integral
el tipo primitivo longe tiene su clase envolvente llamada Long el tipo flop también que ya revisamos
su clase envolventes float y finalmente doblé su clase envolvente.
También se llama así que se les da como ejercicio probar cada una de estas clases envolventes pero básicamente
es exactamente lo mismo que ya hemos revisado por ejemplo para el tipo int o para el tipo float.
Así que con ese ejercicio hemos puesto en práctica el concepto de auto Boxing y un Boxing en IAVA el
cual va a ser muy útil cuando estamos trabajando con otros tipos primitivos y en lugar de trabajar directamente
con tipos primitivos podemos asignar estos valores a clases envolventes y así poder trabajar con objetos
y no directamente con los tipos primitivos.
Todo por esta elección y nos vemos en el siguiente video.
Saludos.