Em Java, os wrappers são classes que encapsulam tipos primitivos (como int, char, boolean, etc.) em um objeto, permitindo que esses valores sejam tratados como objetos. Eles fazem parte do pacote java.lang e proporcionam métodos úteis para manipular e converter dados. Além disso, essas classes possibilitam que os tipos primitivos sejam usados em estruturas que exigem objetos, como coleções (List, Map, etc.).
int primitivo = 10;
Integer wrapper = Integer.valueOf(primitivo); // Wrapper para int
| Tipo Primitivo | Classe Wrapper |
|---|---|
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
O autoboxing ocorre quando o compilador Java converte automaticamente um tipo primitivo em seu respectivo wrapper. Isso facilita a manipulação de primitivos em contextos onde objetos são esperados.
int primitivo = 5;
Integer wrapper = primitivo; // Autoboxing: int para Integer
O unboxing é o processo inverso, onde o compilador converte um objeto wrapper de volta para o tipo primitivo correspondente.
Integer wrapper = Integer.valueOf(10);
int primitivo = wrapper; // Unboxing: Integer para int
Integer