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