È uma otimalização da Java. Uma vez que os dois literais são iguals 
ambos apontam para o mesmo local na memoria, por isso s1 == s2 retorna 
true. Isso é somente no caso que seu codigo faz algo similar a:

s1 = "abc";

<snip>

s2 = "abc";

<snip>

if (s1 == s2)

josesmg wrote:

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

Responder a