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

Responder a