Daniel,
A implementacao de equals() na classe String verifica se o objeto eh
nulo. Se for nulo o equals retorna false, o que faz sentido. No seu caso
voce esta fazendo:

moto.equals(null);

mas perceba que se 'moto' for null, o trecho de codigo vai levantar uma
NullPointerException, pois voce estara invocando um metodo de um objeto
que eh null. O que o Augusto disse eh correto.

Esta eh a implementacao do metodo equals() em java.lang.String:

<snip>
        /**
         * Compares this string to the specified object.
         * The result is <code>true</code> if and only if the argument is not 
         * <code>null</code> and is a <code>String</code> object that
represents 
         * the same sequence of characters as this object. 
         *
         * @param   anObject   the object to compare this <code>String</code>
         *                     against.
         * @return  <code>true</code> if the <code>String </code>are equal;
         *          <code>false</code> otherwise.
         * @see     java.lang.String#compareTo(java.lang.String)
         * @see     java.lang.String#equalsIgnoreCase(java.lang.String)
         */
        public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if ((anObject != null) && (anObject instanceof String)) {
            String anotherString = (String)anObject;
            int n = count;
            if (n == anotherString.count) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = offset;
                int j = anotherString.offset;
                while (n-- != 0) {
                    if (v1[i++] != v2[j++]) {
                        return false;
                    }
                }
                return true;
            }
        }
        return false;
        }

</snip>

Andre Mendonca
[EMAIL PROTECTED]

"Augusto F. Vellozo" wrote:
> 
> Acredito que nco Daniel, nco i possmvel fazer esta comparagco, pois o objeto
> podera estar nulo, e a chamada do mitodo equals acarretara em exception.
> Nunca fiz isso, normamlmente fago uma comparagco direta com null.
> 
> if (moto==null)
> ....
> 
> ----- Original Message -----
> From: Daniel de Almeida Alvares <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Cc: <[EMAIL PROTECTED]>
> Sent: Wednesday, January 26, 2000 7:18 PM
> 
> > Oi pessoal,
> >
> > Estou usando o JDK118 e gostaria de saber se a seguinte comparacao eh
> > possivel:
> >
> > import java.util.*;
> > class Left {
> >    public static void main(String args[]) {
> >
> >       String moto = null;
> >       if ( moto.equals(null) )
> >         System.out.println("NULO");
> >       else
> >         System.out.println("NAO EH NULO");
> >    }
> > }
> >
> > Utilizo a comparacao desse modo pois adaptarei esse codigo a uma pagina
> JSP
> > que recupera o valor de um campo de formulario.
> >
> > Obrigado,
> >
> >
> > _______________________________
> > Daniel de Almeida Alvares
> > Santos - SP - Brasil
> > [EMAIL PROTECTED]
> >
> > * Para nao receber mais e-mails da lista, acesse
> <http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail,
> escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
> >
> 
> * Para nao receber mais e-mails da lista, acesse 
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha 
>a lista <[EMAIL PROTECTED]> e de um <submit>.

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a