Por exemplo:
if (!Coco.equals(“oi”))
{
//Resto do código
// Coco é uma String
}
Outro:
if (coco != 2002)
{
//Resto do código
//Coco é um int
}
Por exemplo:
if (!Coco.equals(“oi”))
{
//Resto do código
// Coco é uma String
}
Outro:
if (coco != 2002)
{
//Resto do código
//Coco é um int
}
“!” é o operador lógico não/negação
no seu código seria mais ou menos assim:
se coco NÃO FOR igual a "oi"
{
execute o código
}
o operador “!=” é o operador matemático diferente
se coco FOR DIFERENTE DE 2002
{
execute o código
}
fiz um exemplo aqui pra ilustrar
String nome = "Gabriel";
int numero = 0;
if (!nome.equals("oi")) {
System.out.println("é verdadeiro");
}
if (numero != 2002) {
System.out.println("é diferente de: 2002");
}
se retirar os operadores vai ver que o código não apresenta nada, espero ter ajudado
Valeu cara, me ajudou muito. Agora entendi.
Quando se fala de referências a objetos (como essa da String), há dois conceitos diferentes de igualdade:
Duas referências podem apontar para o mesmo objeto, portanto, conter o mesmo valor. Nesse caso, é o que o operador de == e != compara.
Duas referências à objetos diferentes podem conter objetos com o mesmo conteúdo. É o que o equals compara.
Por exemplo:
[code]String x = new String(“Olá”);
String y = new String(“Olá”);
String z = x;
System.out.println(x == z); //Retorna true, apontam para o mesmo objeto
System.out.println(x == y); //Retorna false, apontam para objetos diferentes
System.out.println(x.equals(y)); //Retorna true, os objetos tem o mesmo conteúdo
[/code]
Nunca compare objetos (incluido o String) com ==.
na minha opiniao, conforme aprendi o ! significa negacao e o != significa diferente…
[quote=ulisses007]na minha opiniao, conforme aprendi o ! significa negacao e o != significa diferente…
[/quote]
Exatamente. == compara se dois objetos tem a mesma identidade. != compara se tem identidade diferente.
Esses operadores não testam o conteúdo do objeto, diferentemente do que fazem com tipos primitivos (int, float, double, etc.)