Java: Tipos primitivos & Classes Wrappers
- #Java
Wrappers são classes que encapsulam os tipos primitivos do java como objetos.
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)
Obs -> o construtor new Integer(int) foi depreciado nas versões mais recentes e substituído pelo Intenger.valueOf(int).
Unboxing manual (wrapper → primitivo)
Após o Java 5, o autoboxing e unboxing tornaram-se automáticos, facilitando um pouco mais a nossa vida.
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.
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.
Primitivos ❌ Wrappers
Hierarquia das Classes Wrapper
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."