Wrappers
As classes wrappers estão correlacionadas aos tipos primitivos. Sendo assim posso converter primitivos em objetos, e vice-versa.
Funções principais:
1. encapsular tipos primitivos para que possam ser manipulados como objetos
2. fornecer métodos utilitários para tipo primitivos
Então agora é possível:
1. converter de um objeto wrapper para primitivo
2. converter de string para primitivo
3. converter de string para objeto wrapper
Quando usar?
1. Simples: quando deseja usar um “primitivo”como objeto.
2. Quando um objeto recebe um valor e você deseja manipulá-lo como primitivo
3. Para trabalhar com Conjuntos/Genéricos
Wrappers no Java↳Java42 conteúdosNovidades do Java 26 (para desenvolvedores)Dev (Back & Front) · mar 2026Visual Studio Code para Java: o guia completo (dicas, configuração e extensões)Dev (Back & Front) · out 2025Quarkus: Modernizando a linguagem Java para a era da nuvemDev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) → 5/superior
A partir do java 5 o recurso de boxing permite converter tipos primitivos em wrappers ou de wrappers para primitivos automaticamente, ou seja, sem nenhum tipo de conversão o próprio compilador já faz isso para nós programadores.
Regra:
Para usar o == com wrappers não é como usar com os primitivos. A diferença é que valores ate 127 serão iguais, além disso não será considerado igual.
Diferenciar um Wrapper de Tipos primitivos
Bem há uma diferença até na nomeação. As classes wrappers têm o sua nomeação iniciada em MAIÚSCULO enquanto os tipos primitivos estão em minúsculo.
l Tipo primitivo: int, double, char.
l Wrapper: Integer, Double, Long.
Primitivos X Wrappers
1. int numb = 10;
2. Integer numb = new Integer(10);
Temos situações diferentes nos códigos acima:
1. uma variável do tipo primitivo com o valor 10.
2. um objeto da classe Integer, e não um tipo primitivo.
Os métodos de conversão:
Há três métodos de conversão nas classes wrappers que são: xxxValue(), parseXxx(),valueOf(). Veja na tabela abaixo a definição de cada um:

XxxValue() – objeto.tipoprimitivoValue()
- serve para converter o valor de um objeto em um tipo primitivo.
Integer i2 = new Integer(42);
double d = i2.doubleValue(); // aqui eh a conversão do Objeto Integer para doubleObs.: então minha variável do tipo primitivo d tem o valor agora do objeto wrapper i2.
Float f2 = new Float(3.14f);
short s = f2.shortValue();//conversão do valor do objeto para tipo primitivo short.parseXXX(), usa o argumento String.
Converte de String para Wrapper. Essa classe lança uma exceção na tentativa de converter “dois em um tipo primitivo”
Exemplo:
double d4 = Double.parseDouble(“3.14”); //converto de String para double
valueOf() – essa converte de String para Wrapper (Integer, Long etc.)
xxx.valueOf() – tipoprimitivo.valueOf(“string”);
Double d5 = double.valueOf("3.14"); //converto de String em um objeto class WrapperPara ficar mais claro o entendimento, desenvolvi as classes a seguir com exemplos para fixar o que já foi dito, confiram:
code 1
public class ExceWrap {
public static void main(String[] args) {
int z= Integer.parseInt("dois");
System.out.println(z);
/* codigo compila sem problemas mais uma excecao vai acontecer
* nao há nada de errado na sintaxe
* porem a jvm nao consegue converter uma string literal
* em um numero inteiro
*/
}}
Exception in thread "main" java.lang.NumberFormatException: For input string: "dois"code 2
public class Par {
public static void main(String[] args) {
//String - primitivo
double d = Double.parseDouble("10");
System.out.println(d);
}}code 3
public class NoValue {
public static void main(String[] args) {
Long l = new Long(8);
int lh = l.longValue();
/* nao compila o to tentando colocar um long
* dentro de um int nao é valido isso
*/
}}code 4
public class OfVal {
public static void main(String[] args) {
//String --> OBJETOS
Float f = Float.valueOf("10");
System.out.println(f);
Integer i = new Integer(10);
//Objeto --> Primitivo
int g = i.intValue();
}}code 5
public class WrpObjt {
public static void main(String[] args) {
Integer g = new Integer (10);
Integer h = new Integer(10);
System.out.println(g==h);//false
/* aqui dois objetos diferentes
* porem com mesmo valor
* == testa a referencia e nao valores dos
* objetos */}}Vou ficando por aqui, espero tenham gostado, e até a próxima. Have a nice week :). Aproveitando o momento, convido os leitores iMasters para dar uma passada no meu blog. Esta semana estamos discutindo as técnicas de como passar em uma entrevista de inglês.









José Carlos Macoratti
Cezar Taurion
Loiane Groner





