Classe Java Wrapper (com exemplos)

Neste tutorial, aprenderemos sobre a classe Java Wrapper com a ajuda de exemplos.

As classes de moldagem em Java são usadas para converter tipos de primitivas ( int, char, float, etc) em objectos correspondentes.

Cada um dos 8 tipos primitivos possui classes de wrapper correspondentes.

Tipo Primitivo Classe Wrapper
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Converter tipo primitivo em objetos de invólucro

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."); ) ) ) 

Resultado

Um objeto de Integer é criado. Um objeto de Double é criado.

No exemplo acima, usamos o valueOf()método para converter os tipos primitivos em objetos.

Aqui, usamos o instanceofoperador para verificar se os objetos gerados são de Integerou Doubletipo 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 boxe automático . Para saber mais, visite Java autoboxing e unboxing.

Nota : Também podemos converter tipos primitivos em objetos wrapper usando Wrapperconstrutores de classe. Mas o uso de construtores é descartado após o Java 9.

Objetos Wrapper em Tipos Primitivos

Para converter objectos para os tipos de primitivas, podemos utilizar os métodos de valores correspondentes ( intValue(), doubleValue(), etc.) presentes em cada classe de invólucro.

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); ) ) 

Resultado

 O valor de a: 23 O valor de b: 5,55 

No exemplo acima, usamos o método intValue()e doubleValue()para converter os objetos Integere Doublenos 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; 

Este 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 list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Nesses casos, as classes de wrapper nos ajudam a usar tipos de dados primitivos como objetos.
  • Podemos armazenar o valor nulo em objetos wrapper. Por exemplo,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Nota : os tipos primitivos são mais eficientes do que os objetos correspondentes. Portanto, quando a eficiência é o requisito, são sempre recomendados tipos primitivos.

Artigos interessantes...