"¡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