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] 
-------------------------------------------------------------------------

Responder a