Rony, existem duas comparações de igualdade que se possa fazer, você
pode comparar se o conteúdo semântico é igual ou se as referências são
iguais.
No primeiro caso, para verificar a igualdade semântica de literais
utiliza-se o operador ==
ex:
int a = 1;
int b = 2
int c = 1;
a == b --> false;
a == c --> true;
b == c --> false;
Para comparar a igualdade semântica de objetos utiliza-se equals
String a = "Mane";
String b = "Manezao";
String c = "Mane";
String d = new String("Mane");
a.equals(b) --> false;
a.equals(c) --> true;
d.equals(a) --> true;
d.equals(a) --> true;
b.equals(c) --> false;
Nos casos que você tenha sua própria classe, deve-se implementar o
método equals
exemplo:
class Estudante {
String nome;
byte idade;
String endereco;
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (o instanceof Estudante) {
Estudante e = (Estudante) o;
boolean b1 = e.nome.equals(nome);
boolean b2 = e.idade == idade;
boolean b3 = e.endereco.equals(endereco);
return b1 && b2 && b3;
}
return false;
}
Agora no segundo caso de comparação de igualdade da referência, é
utilizado somente em objetos, o operador ==
String a = "Mane";
String b = "Manezao";
String c = "Mane";
String d = new String("Mane");
a == b --> false;
a == c --> true;
d == c --> false;
d == a --> false;
Notou que agora (comparando com o exemplo anterior) as variáveis "d" e
"c" são diferentes?
Isso por que as referencias são diferentes, o operador == em objetos,
verifica se a referencia é igual.
Bom, sugiro fortemente que você leia o Tutorial JAVA2 da SUN, que é de
graça e é muito bom.
http://java.sun.com/docs/books/tutorial/index.html
Abraços
Claudio Miranda
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------