Se você já se perguntou "como comparar valores corretamente em Java?", então este post é para você!
Os operadores de igualdade são fundamentais para qualquer desenvolvedor, por permitem comparar valores e tomar decisões no código. No entanto, muitos iniciantes cometem erros ao usá-los, especialmente ao lidar com objetos e tipos primitivos.
Se você quer dominar if statements, loops e tomas decisões inteligentes no código, continue lendo! Vamos descomplicar os operadores de igualdade em Java de uma vez por todas.
O que são operadores de igualdade?
Os operadores de igualdade servem para comparar valores e retornar um booleano (true ou false).
Existem dois principais operadores de igualdade em Java:
Operador | Significado | Exemplo |
---|---|---|
== | Compara se dois valores são iguais | if (a == b) { ... } |
!= | Compara se dois valores são diferentes | if (a != b) { ... } |
Agora, vamos ver como eles funcionam na prática.
Exemplos práticos de operadores de igualdade
Comparando números (tipos primitivos)
Aqui, x == y retorna false, porque 10 não é igual a 20.
Já x != y retorna true, pois 10 é diferente de 20.
Comparando caracteres
Os operadores de igualdade também funcionam com caracteres (char):
Cada caracteres tem um código Unicode, então a comparação é baseada nesses valores.
Comparando Strings (cuidado com ==!)
Agora vem um dos erros mais comuns em Java!
Por que isso acontece?
Quando uma String é criada sem new, o Java reutiliza o mesmo objeto para otimizar a memória.
Agora, veja este exemplo:
Isso acontece porque new String("Java") cria um novo objeto na memória, mesmo que o valor seja o mesmo!
A SOLUÇÃO? Usar .equals() para comparar Strings corretamente!
Comparando Objetos (cuidado com == de novo!)
O == verifica se são o mesmo objeto na memória, e não apenas se os valores são iguais.
Para comparar objetos corretamente, devemos sobrescrever o método equals().
Agora, p1.equals(p2) retornará true se os nomes forem iguais!
Erros comuns ao usar operadores de igualdade
- Usar == para comparar Strings → sempre use .equals() para evitar bugs.
- Usar == para comparar objetos complexos → a menos que queira comparar a referência na memória, sobrescreva equals().
- Confundir = com == → o primeiro atribui valores, o segundo compara valores.
Isso não compila, pois a = 10 é uma atribuição e não uma comparação. O correto seria:
Os operadores de igualdade parecem simples, mas podem causar grandes erros se usados incorretamente.
- Para tipos primitivos: use == e != sem medo.
- Para Strings: sempre use .equals().
- Para objetos: sobrescreva equals() para comparações corretas.
Agora que você já domina os operadores de igualdade, coloque em prática no seu código!
O que você quer ver no próximo post?
Gostou do conteúdo? Comenta aqui qual tema você quer aprender a seguir!
Comentários
Postar um comentário