Apesar dos objetos terem o mesmo conte�do ("abc"), eles apontam para diferentes endere�os na mem�ria.
Quando o construtor da classe � chamado, uma de suas fun��es � essa : alocar mem�ria para um novo objeto. Foi o que aconteceu no seu exemplo, vc chamou o construtor para os dois objetos. Para testar, fa�a o seu if assim :
if (!sb.equals(s1))
vai ver que dessa forma vai imprimir o "ok" , pois os objetos s�o diferentes.


At� mais.


Marcio Adriano Batista Leal wrote:



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




Responder a