Já foi explicado isso uma vez aqui. A explicação é o seguinte: Java tem um pool de Strings tratando da seguinte forma:
String s1 = "abc"; String s2 = "abc"; Na memória, a string s1 ocupa um determinado endereço de memória, ao ler a instrução para criar uma nova String, cujo o conteúdo é idêntico, a JVM apenas atribui a nova string, no caso s2, o mesmo endereço de memória de s1. Ao comparar a igualdade o que está sendo feito mesmo, e comparar se as strings ocupam o mesmo endereço. Por isso retorna true. No entanto se você criar a nova string como String s2 = new String("abc") outra string com outro endereço de memória será criado e o resultado da igualdade será false. Quando você usa o método equals() o que está fazendo é comparar a string pelo seu conteúdo, não pelo endereço que ela ocupa na memória. Espero ter explicado. Lincolm Ferreira de Aguiar WebMaster - QueroProgramar [EMAIL PROTECTED] www.geocities.com/lincolmf ----- Original Message ----- From: "josesmg" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, January 24, 2002 2:51 PM Subject: [java-list] String Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br Para comparar uma String s1 com outra s2 eu devo usar o método equals. Porém eu com uma dúvida. Se eu defino s1 = "abc" e s2 = "abc" e faço if (s1 == s2) me retorna true. Alguém me explica isto. ------------------------------ 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 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 para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------