Tabla de Contenidos
Clases envoltorio (Wrapper)
El paquete java.lang
contiene clases básicas. Este paquete se importa por defecto en todo
programa en Java como ya hemos visto en otras ocasiones, por lo que no es necesario hacer un import
de ninguna de sus clases.
Dentro de este paquete tenemos 8 clases, una por cada tipo primitivo, llamadas clases envoltorio o wrapper.
Su finalidad es ofrecer la posibilidad de tratar a los tipos primitivos como si fueran objetos, ya que habrá ciertos momentos en los que no podamos usar primitivos.
Estas clases son:
- Integer: envuelve un
int
- Long: envuelve un
long
- Float: envuelve un
float
- Double: envuelve un
double
- Character: envuelve un
char
- Boolean: envuelve un
boolean
- Byte: envuelve un
byte
- Short: envuelve un
short
Como vemos todos estos nuevos tipos de datos comienzan por letra mayúscula ya que son clases.
Instanciar objetos envoltorio
De la misma forma que la clase String
, las clases envoltorio tienen algunos privilegios. Uno de ellos es la propiedad autoboxing
que permite crear un objeto mediante una asignación directa:
//Instanciación rápida Integer numero = 5; //Instanciación lenta Integer numero2 = new Integer(5);
Métodos comunes
Existen algunos métodos que llevamos usando bastante tiempo aunque igual no nos habíamos dado cuenta:
int numero; numero = Integer.parseInt("-124");
El método estático
parseInt() pertenece a la clase Integer
, y como es estático, no necesitamos crear un objeto de tipo Integer para usarlo.
Todas las clases envoltorio tiene el método estático parseXXX()
.
Métodos de instancia
- intValue(), booleanValue(), floatValue(), etc
Permiten obtener el valor primitivo del objeto envoltorio. Se debe llamar desde un objeto del tipo concreto:
Integer numero = new Integer(5); int valor = numero.intValue();
AutoBoxing
Permite encapsular directamente con una asignación un tipo primitivo dentro de un objeto envoltorio:
int numeroPrimitivo = 5; Integer numeroObjeto = numeroPrimitivo; //ó también numeroObjeto = 345;
Java crea la instancia de Integer, aunque no lo veamos.
AutoUnboxing
Es la propiedad contraria a la anterior: permite obtener directamente el valor primitivo de un objeto envoltorio.
Integer objeto = new Integer(6); int primitivo = objeto;
De esta forma no es necesario llamar al método intValue()
.
Inmutabilidad
De la misma forma que la clase String, las clases envoltorios tienen valores inmutables. Esto quiere decir que cada vez que cambiamos el valor de una variable de tipo wrapper, estamos construyendo un nuevo objeto.
© 2025 Fernando Valdeón