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