image

Bootcamps ilimitados e +750 cursos pra sempre

70
%OFF
Article image
Ellen Silva
Ellen Silva01/09/2026 18:48
Compartilhe
IBM Bob: IA de Nível Empresarial para Desenvolvedores e Tech LeadersRecomendados para vocêIBM Bob: IA de Nível Empresarial para Desenvolvedores e Tech Leaders

int ou Integer? Parece a mesma coisa até o null aparecer

  • #Java
Leia. Curta. Comente. Compartilhe.

...

int e Integer conseguem guardar números inteiros, mas isso não significa que sejam a mesma coisa. Essa diferença começa pequena e aparece bastante quando você avança no Java.

...

Afinal, qual é a diferença?

Olha esses dois códigos:

int idade = 25;

Integer quantidade = 10;

Os dois guardam números inteiros.

Mas existe uma diferença importante:

int é um tipo primitivo.

Integer é um objeto e pode receber null.

Por exemplo:

Integer idade = null;

Funciona.

Agora isso:

int idade = null;

Não funciona.

Pensa em um cadastro

Imagine que você está fazendo um sistema e a idade não é obrigatória.

A pessoa preenche:

Nome: Ana
Idade:

Ela simplesmente não informou a idade.

Nesse caso, usar:

Integer idade;

permite que o valor seja null.

É por isso que você vai encontrar bastante Integer, Long, Double e outros tipos parecidos quando começar a trabalhar com DTOs, entidades, APIs e banco de dados.

E tem uma pegadinha

Olha isso:

Integer quantidade = null;

int total = quantidade;

O Java tenta transformar aquele Integer em int.

Só que não existe número ali.

Resultado:

NullPointerException entrando em cena para alegrar o dia do dev kkk.

Então uma dica simples é:

se estiver usando Integer, lembre que ele pode ser null.

Antes de sair fazendo contas com ele, vale conferir:

if (quantidade != null) {
  System.out.println(quantidade);
}

E qual eu uso?

Para quem está começando, dá para pensar assim:

Se o valor sempre precisa existir, um primitivo pode fazer sentido:

int tentativas = 0;

Se o valor pode não existir, você provavelmente vai encontrar um Wrapper:

Integer idade = null;

Não precisa sair trocando todos os seus int por Integer.

O importante é entender o que aquele dado representa.

Fica a dica para quem está começando

Quando encontrar essas duplas:

intInteger

longLong

doubleDouble

booleanBoolean

não pense que o Java simplesmente resolveu criar dois nomes para complicar sua vida kkk.

Os primeiros são tipos primitivos. Os segundos são conhecidos como Wrapper Classes e podem ser usados como objetos.

Você vai entender várias outras diferenças conforme avançar. Por enquanto, lembrar do null já vai evitar bastante confusão.

>> E você, quando começou no Java também achava que int e Integer eram praticamente a mesma coisa?

__

Indicação de livro

Java: Como Programar, de Paul Deitel e Harvey Deitel

É uma boa referência para ir consultando conforme aparecem dúvidas sobre tipos, objetos e os fundamentos do Java.

Compartilhe
Recomendados para você
CI&T - Java AI Copilot
Itaú - Java com Inteligência Artificial
Bootcamp NTT DATA: Backend Java com Spring AI
Comentários (0)
Recomendados para vocêIBM Bob: IA de Nível Empresarial para Desenvolvedores e Tech Leaders