Um trecho de palestra com um mentor como parte do curso Codegym University. Inscreva-se no curso completo.


"Gostaria de falar um pouco sobre a comparação de variáveis ​​em Java. "

"Você já conhece os operadores de comparação mais simples – menor que (<) e maior que (>)."

"Sim."

"Existem também operadores como igual a (==) e não igual a (!=). Assim como, menor ou igual a (<=) e maior ou igual a (>=)."

"Agora isso está ficando interessante."

"Observe que não há operadores =< ou => em Java!"

" O sinal = é usado para operações de atribuição. É por isso que dois sinais de igual (==) são usados ​​para testar a igualdade. Para verificar se as variáveis ​​não são iguais , use o operador != ."

"Eu vejo."

"Ao comparar duas variáveis ​​em Java usando o operador ==, estamos comparando o conteúdo das variáveis."

"Assim, para variáveis ​​primitivas , seus valores são comparados ."

"Para variáveis ​​de referência , as referências são comparadas . Suponha que temos objetos idênticos, mas distintos. Como as referências a eles são diferentes , uma comparação mostrará que eles não são iguais, ou seja, o resultado da comparação será falso . Uma comparação de referências será verdadeira somente se ambas as referências apontarem para o mesmo objeto. "

"Para comparar o conteúdo interno dos objetos, usamos o método equals especial . Este método (e todos os métodos da classe Object) são adicionados à sua classe pelo compilador, mesmo que você não os declare. Deixe-me mostrar alguns exemplos: "

Código Explicação
1
int a = 5;
int b = 5;
System.out.println(a == b);
Comparar tipos primitivos .
true será exibido na tela.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Comparar referências .
true será exibido na tela.
Ambas as variáveis ​​armazenam referências ao mesmo objeto .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Comparar referências .
true será exibido na tela.
Ambas as variáveis ​​armazenam referências ao mesmo objeto .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Comparar referências .
falso será exibido na tela.
As duas variáveis ​​referenciam objetos Cat idênticos, mas não o mesmo.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Comparar referências .
falso será exibido na tela.
As duas variáveis ​​referenciam objetos String idênticos, mas não o mesmo.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Comparar objetos .
true será exibido na tela.
As duas variáveis ​​referenciam objetos String idênticos

"Ah, quase esqueci! Aqui estão alguns exercícios para você:"