O m�todo equals do StringBuffer retorna verdadeiro somente se vc. est�
comparando duas refer�ncias do mesmo objeto.
Ex:
{
StringBuffer sb1 = new StringBuffer("a");
StringBuffer sb2 = new StringBuffer("a");
StringBuffer sb3 = s1;
System.out.println(sb1.equals(sb3)); // imprime true
System.out.println(sb1.equals(sb2)); // imprime false
System.out.println(sb1.toString().contentEquals(sb2)); // imprime true
}
Voc� pode estar se perguntando: Mas por que o m�todo equals do StringBuffer
n�o � igual ao m�todo equals do String?
Na verdade, o StringBuffer implementa o m�todo equals de modo correto. Quem
tem uma implementa��o diferente mesmo � a classe String, que faz uma
compara��o caracter a caracter ao inv�s de checar a o tipo e refer�ncia.
Esta checagem padr�o est� presente em qualquer objeto, uma vez que o m�todo
equals � implementado na classe Object. Apenas algumas classes (como a
String) � que sobrescrevem este m�todo para alguma checagem espec�fica.
Por�m, como voc� pode observar na �ltima linha do meu c�digo, � poss�vel
fazer esta compara��o que vc. deseja convertendo um dos objetos StringBuffer
para String (atrav�s do m�todo toString()). Uma vez que um deles � do tipo
String, voc� pode utilizar o m�todo contentEquals(<StringBuffer>), que
compara um objeto do tipo String a um StringBuffer.
Com isso vc. pode usar os outros m�todos da classe String tamb�m. Para fazer
uma compara��o case-insensitive, basta proceder da seguinte forma:
...
StringBuffer sb4 = new StringBuffer("A");
System.out.println(sb1.toString().equalsIgnoreCase(sb4.toString())); //
imprime true
...
{}'s
David Rissato Cruz
-----Mensagem original-----
De: Marcio Adriano Batista Leal [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 26 de fevereiro de 2003 22:21
Para: [EMAIL PROTECTED]
Assunto: [java-list] Duvida StringBuffer
Gostaria de Saber porque n�o apresenta a mensagem OK, pois estou comparando
dois Objetos identicos.
public class testestring
{
public static void main(String args[])
{
StringBuffer sb = new StringBuffer("abc");
StringBuffer s1 = new StringBuffer("abc");
if (sb.equals(s1))
{
System.out.println("OK");
}
}
}
_________________________________________________________________
MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
------------------------------ 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------