Wrappers en Java¶
Para todos los tipos de datos primitivos, existen unas clases llamadas Wrapper
, también conocidas como envoltorio, ya que proveen una serie de mecanismos que nos permiten envolver a un tipo de dato primitivo permitiéndonos con ello el tratarlos como si fueran objetos.
Tipos primitivos | Wrappers |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
boolean | Boolean |
float | Float |
double | Double |
char | Character |
Todos los Wrappers a su vez dependen de Java.lang.Object
ya que, como hemos dicho, los Wrappers
no dejan de ser objetos y por tanto descienden de la clase Object
. Podemos apreciar todo esto de una forma más sencilla a partir del siguiente esquema:

Las clases envoltorio en Java, como Integer
, Double
, Boolean
, Character
, Byte
, Long
y Float
, proporcionan una serie de métodos para manejar los valores primitivos correspondientes. Lo ideal es consultar estos métodos en la documentación oficial, donde además podremos ver cuales son los que podemos usar en nuestra versión de Java. A continuación, vamos a ver una serie de ejemplos del uso de Wrappers
:
public class Main {
public static void main(String[] args) {
// Creación de un objeto de la clase Integer a partir de un valor primitivo int
int num = 10;
Integer numWrapper = Integer.valueOf(num);
// Conversión de un objeto de la clase Integer a un valor primitivo int
int numPrimitivo = numWrapper.intValue();
// Imprimir los valores
System.out.println("num: " + num);
System.out.println("numWrapper: " + numWrapper);
System.out.println("numPrimitivo: " + numPrimitivo);
}
}
public class Main {
public static void main(String[] args) {
// Creación de un objeto de la clase Double a partir de un valor primitivo double
double num = 10.5;
Double numWrapper = Double.valueOf(num);
// Conversión de un objeto de la clase Double a un valor primitivo double
double numPrimitivo = numWrapper.doubleValue();
// Imprimir los valores
System.out.println("num: " + num);
System.out.println("numWrapper: " + numWrapper);
System.out.println("numPrimitivo: " + numPrimitivo);
}
}
public class Main {
public static void main(String[] args) {
// Creación de un objeto de la clase Boolean a partir de un valor primitivo boolean
boolean flag = true;
Boolean flagWrapper = Boolean.valueOf(flag);
// Conversión de un objeto de la clase Boolean a un valor primitivo boolean
boolean flagPrimitivo = flagWrapper.booleanValue();
// Imprimir los valores
System.out.println("flag: " + flag);
System.out.println("flagWrapper: " + flagWrapper);
System.out.println("flagPrimitivo: " + flagPrimitivo);
}
}
public class Main {
public static void main(String[] args) {
// Creación de un objeto de la clase Character a partir de un valor primitivo char
char letra = 'A';
Character letraWrapper = Character.valueOf(letra);
// Conversión de un objeto de la clase Character a un valor primitivo char
char letraPrimitivo = letraWrapper.charValue();
// Imprimir los valores
System.out.println("letra: " + letra);
System.out.println("letraWrapper: " + letraWrapper);
System.out.println("letraPrimitivo: " + letraPrimitivo);
}
}