Classes de wrapper em Java: o que é, por que precisamos?

Publicados: 2021-12-23

Java trabalha com os conceitos de POO – Programação Orientada a Objetos. Apesar disso, Java não pode ser considerada uma linguagem orientada a objetos completa. Isso porque Java trabalha com oito tipos de dados primitivos – byte, short, int, float, long e double. Esses tipos de dados Java não são objetos, o que torna o Java não totalmente orientado a objetos.

No entanto, as classes wrapper fornecem uma boa maneira de contornar essa limitação convertendo tipos de dados primitivos em objetos. Dessa forma, as classes wrapper tornam o código Java completamente orientado a objetos.

Este é um dos conceitos mais importantes para todos que estão começando com a linguagem de programação Java. Vamos ajudá-lo com isso através deste artigo. Primeiro, veremos as classes wrapper em Java e por que precisamos delas e suas vantagens. Ao final do artigo, você estará em condições de trabalhar com classes wrapper sem se confundir!

Aprenda programas de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Índice

Classe wrapper em Java

Os desenvolvedores de software geralmente se deparam com situações que exigem que eles não trabalhem com tipos de dados primitivos, mas com objetos. Para conseguir essa conversão de tipo de dados primitivos em objetos, Java fornece aos programadores o conceito de classe wrapper. Essa classe ajuda na conversão de primitivo para objeto, bem como de objeto para tipo de dados primitivo.

A criação de uma classe wrapper cria automaticamente um novo campo onde os tipos de dados primitivos são armazenados. O objeto da classe wrapper então contém o tipo de dados primitivo. Esse processo de conversão de tipos de dados primitivos em objetos usando classes wrapper é conhecido como boxing. Ao trabalhar com classes wrapper, você precisa passar o valor do tipo de dados primitivo para o construtor da classe wrapper.

As seis classes wrapper – byte, short, int, float, long e double – são todas subclasses da classe number, que é uma classe abstrata. As duas classes de wrapper restantes – boolean e character – são subclasses da classe de objeto.

Aqui está um resumo rápido da classe wrapper para diferentes tipos de dados primitivos, juntamente com o argumento do construtor necessário para criar a classe wrapper:

Por que as classes wrapper em Java são necessárias?

As classes wrapper em Java são benéficas para situações em que o programa exige trabalhar com um objeto em vez de um tipo de dados primitivo. Nesse sentido, as classes wrapper ajudam o programa Java a ser 100% orientado a objetos. Além disso, as classes wrapper em Java são necessárias pelos seguintes motivos:

  • Para vincular os valores de diferentes tipos de dados primitivos em objetos. Isso ajuda na execução de operações complexas e no trabalho com coleções como HashMap, ArrayList, etc.
  • Para fornecer diferentes funções de utilitário que podem ser usadas com tipos de dados primitivos.
  • Como os tipos de dados primitivos não podem receber um valor nulo, mas as classes wrapper podem, elas também agem como uma solução alternativa para atribuir um valor nulo a qualquer tipo de dados primitivo.

Quais são as vantagens de usar classes wrapper em Java?

A classe wrapper em Java fornece os seguintes benefícios principais:

  • Eles ajudam o código a ser serializável. Isso ocorre porque a serialização requer a conversão de objetos em fluxos. Se os programadores quiserem serializar um valor primitivo, ele deve primeiro ser convertido em objetos usando classes wrapper.
  • Eles ajudam na sincronização porque a sincronização multithread em Java requer objetos.
  • Os dados primitivos podem se beneficiar de várias classes util do pacote Java.util.
  • Trabalhar com estruturas de coleção torna-se possível usando classes wrapper.
  • A conversão de tipos de dados primitivos em objetos torna possível alterar o valor dentro da função usando um método de chamada por valor.
  • As classes wrapper em Java garantem que o programa seja polimórfico.

Exemplos

1. Convertendo um tipo primitivo em objeto

Exemplo de classe pública{

public static void main(String args[]){

//Convertendo a primitiva float em objeto Float

flutuante n=10,10;

Float obj=Float.valueOf(n);

System.out.println(n+ ” “+ obj);

}

}

Saída:

10,10 10,10

Como a saída mostra, tanto os dados primitivos quanto o objeto mantêm o mesmo valor. Assim, você pode acessar o mesmo valor usando obj ou n, o que preferir, de acordo com a situação.

2. Convertendo objeto em tipo primitivo

Exemplo de classe pública{

public static void main(String args[]){

//Criando objeto Wrapper

Float o= new Float(50,00);

//Convertendo o objeto para primitivo

float n= obj.floatValue();

System.out.println(n+ ” “+ o);

}

}

Saída:

50,00 50,00

O objeto float foi convertido de volta para o tipo de dados primitivo float no exemplo acima. Da mesma forma, você pode fazer muitas conversões e manipulações usando classes wrapper em Java. Existem diferentes funções com as quais as classes wrapper trabalham. Essa discussão está além do escopo deste artigo, mas recomendamos que você explore as classes wrapper em profundidade, juntamente com as diferentes funções com as quais você precisará trabalhar ao lidar com classes wrapper.

Para concluir

Assim como as classes wrapper, também existem muitos outros conceitos e ideias essenciais que você precisa dominar para se destacar no desenvolvimento de software. Na upGrad, orientamos vários alunos ao redor do mundo e os ajudamos a iniciar suas carreiras em seu campo desejado. Nossas sessões de treinamento personalizadas e discussões de estudos de caso lideradas por especialistas ajudam os alunos a se manterem atualizados sobre todos os conceitos adquiridos.

Para ajudar os alunos a iniciar sua carreira de desenvolvimento de software, apresentamos a você um programa on-line de 5 meses criado por especialistas e líderes do setor - Certificação PG vinculada ao trabalho em engenharia de software . Além de ensinar a você todas as nuances do campo, o programa também o ajudará a ser colocado nas principais empresas. Então confira este curso e inscreva-se hoje mesmo!

Por que as classes wrapper são necessárias em Java?

As classes wrapper são fundamentais em Java porque ajudam um programa Java a ser completamente orientado a objetos. Os tipos de dados primitivos em java não são objetos, por padrão. Eles precisam ser convertidos em objetos usando classes wrapper.

Quantas classes wrapper estão disponíveis em Java?

O número de classes wrapper em Java é o mesmo que o número de tipos de dados primitivos suportados por Java, ou seja, 8.

As classes wrapper em Java são mutáveis?

Sim, as classes wrapper são mutáveis.