image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Tiago Ferreira
Tiago Ferreira01/07/2025 19:15
Compartilhe

Java: Tipos primitivos & Classes Wrappers

  • #Java

Wrappers são classes que encapsulam os tipos primitivos do java como objetos.

image

Antes do Java 5, a conversão de tipos primitivos em wrappers era chamada de boxing, e a de wrappers em tipos primitivos, de unboxing.



Boxing manual (primitivo → wrapper)

image

Obs -> o construtor new Integer(int) foi depreciado nas versões mais recentes e substituído pelo Intenger.valueOf(int).


Unboxing manual (wrapper → primitivo)

image

Após o Java 5, o autoboxing e unboxing tornaram-se automáticos, facilitando um pouco mais a nossa vida.

image

Tipos Primitivos


  • São tipos básicos de dados.
  • São mais rápidos e consomem menos memória.
  • Por não ser objetos, não possuem métodos.
  • Como visto anteriormente, os tipos primitivos são int, double, char, boolean, etc.

image

Tipos Wrapper


  • São objetos que encapsulam os tipos primitivos.
  • Permitem usar os tipos básicos em contextos que exigem Objetos(Wrapper), como coleções(List, Map, Set e etc).
  • Tem métodos utilitários(como parseInt, compareTo, valueOf, toString, etc).
  • Como visto anteriormente, os tipos Wrapper são Integer, Double, Character, etc.

image

Primitivos ❌ Wrappers


image


Hierarquia das Classes Wrapper


image

Porque não Falou Sobre a Classe String?

Classes wrapper existem para dar uma versão objeto aos tipos primitivos. A classe String é uma classe final (não pode ser estendida), não é um tipo primitivo nem encapsula um tipo primitivo específico. Porém, possui métodos utilitários como length(), substring(), entre outros."


Compartilhe
Recomendados para você
NTT DATA - Java e IA para Iniciantes
TONNIE - Java and AI in Europe
Deal - Spring Boot e Angular (17+)
Comentários (1)
DIO Community
DIO Community - 02/07/2025 15:18

Tiago, gostei muito da explicação sobre tipos primitivos e classes wrapper em Java. O conceito de autoboxing e unboxing foi bem abordado, destacando como o processo foi simplificado com o Java 5, trazendo benefícios para os desenvolvedores.

Você também explicou muito bem a diferença entre tipos primitivos e wrappers, mostrando como os wrappers podem ser usados em contextos que exigem objetos, como em coleções, e como isso torna a programação mais flexível.

Sobre a classe String, que você mencionou ao final, faz sentido não tratá-la como um tipo wrapper para tipos primitivos, mas talvez valha a pena explicar que ela, por ser uma classe final, tem um comportamento peculiar entre tipos de dados em Java.

Você poderia citar alguns casos específicos em que o uso de Integer.valueOf(int) seria mais vantajoso, especialmente em coleções, para garantir maior eficiência?