"¡Hola, amigo!"
"Hoy hablaré sobre el autoboxing . AutoBoxing significa poner automáticamente algo en una caja".
"Recordarás que Java tiene tipos que heredan la clase Object, así como tipos primitivos. Pero resulta que cosas convenientes como colecciones y genéricos solo funcionan con tipos que heredan Object".
"Entonces se tomó la decisión de hacer una contraparte no primitiva de cada tipo primitivo".
tipo primitivo | Contraparte no primitiva |
---|---|
byte | Byte |
corto | Corto |
En t | Entero |
largo | Largo |
flotar | Flotar |
doble | Doble |
booleano | booleano |
carbonizarse | Personaje |
vacío | Vacío |
"Pero es muy inconveniente convertir entre estos tipos todo el tiempo:"
int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();
"Especialmente cuando se trabaja directamente con colecciones:"
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
list.add( new Integer(i));
}
"Es por eso que los creadores de Java inventaron el 'autoboxing' de tipos primitivos y el 'unboxing' de sus contrapartes no primitivas".
"Así es como funciona:
lo que ves | lo que realmente sucede |
---|---|
|
|
|
|
|
|
|
|
"Todo es simple. Puede asignar tipos int e Integer entre sí, y el compilador se encarga de todo lo demás".
"Eso es muy conveniente".
"Sí. Pero hay matices de los que hablaré más tarde".
GO TO FULL VERSION