Classe Java Wrapper
Classe Java Wrapper
Neste tutorial, aprenderemos sobre a classe Java Wrapper com a ajuda de exemplos.
As classes wrapper em Java são usadas para converter tipos primitivos (int
, char
, float
, etc) em objetos correspondentes.
Cada um dos 8 tipos primitivos tem classes de wrapper correspondentes.
Tipo primitivo | Classe de wrapper |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Converter tipo primitivo em objetos wrapper
Também podemos usar o
valueOf()
método para converter tipos primitivos em objetos correspondentes. Exemplo 1:tipos primitivos para objetos wrapper
class Main {
public static void main(String[] args) {
// create primitive types
int a = 5;
double b = 5.65;
//converts into wrapper objects
Integer aObj = Integer.valueOf(a);
Double bObj = Double.valueOf(b);
if(aObj instanceof Integer) {
System.out.println("An object of Integer is created.");
}
if(bObj instanceof Double) {
System.out.println("An object of Double is created.");
}
}
}
Saída
An object of Integer is created. An object of Double is created.
No exemplo acima, usamos o
valueOf()
método para converter os tipos primitivos em objetos. Aqui, usamos o
instanceof
operador para verificar se os objetos gerados são de Integer
ou Double
tipo ou não. No entanto, o compilador Java pode converter diretamente os tipos primitivos em objetos correspondentes. Por exemplo,
int a = 5;
// converts into object
Integer aObj = a;
double b = 5.6;
// converts into object
Double bObj = b;
Esse processo é conhecido como auto-boxing . Para saber mais, visite Java autoboxing e unboxing.
Observação :Também podemos converter tipos primitivos em objetos wrapper usando
Wrapper
construtores de classe. Mas o uso de construtores é descartado após o Java 9. Agrupar objetos em tipos primitivos
Para converter objetos nos tipos primitivos, podemos usar os métodos de valor correspondentes (
intValue()
, doubleValue()
, etc) presentes em cada classe wrapper. Exemplo 2:objetos wrapper em tipos primitivos
class Main {
public static void main(String[] args) {
// creates objects of wrapper class
Integer aObj = Integer.valueOf(23);
Double bObj = Double.valueOf(5.55);
// converts into primitive types
int a = aObj.intValue();
double b = bObj.doubleValue();
System.out.println("The value of a: " + a);
System.out.println("The value of b: " + b);
}
}
Saída
The value of a: 23 The value of b: 5.55
No exemplo acima, usamos o
intValue()
e doubleValue()
método para converter o Integer
e Double
objetos em tipos primitivos correspondentes. No entanto, o compilador Java pode converter automaticamente objetos em tipos primitivos correspondentes. Por exemplo,
Integer aObj = Integer.valueOf(2);
// converts into int type
int a = aObj;
Double bObj = Double.valueOf(5.55);
// converts into double type
double b = bObj;
Esse processo é conhecido como unboxing . Para saber mais, visite Java autoboxing e unboxing.
Vantagens das classes wrapper
- Em Java, às vezes podemos precisar usar objetos em vez de tipos de dados primitivos. Por exemplo, ao trabalhar com coleções.
// error ArrayList<int> list = new ArrayList<>(); // runs perfectly ArrayList<Integer> list = new ArrayList<>();
- Podemos armazenar o valor nulo em objetos wrapper. Por exemplo,
// generates an error int a = null; // runs perfectly Integer a = null;
Observação :Tipos primitivos são mais eficientes que objetos correspondentes. Assim, quando a eficiência é o requisito, são sempre recomendados tipos primitivos.
Java