| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2006 15:32:31
|
bigwavesPJ
JavaEvangelist
![[Avatar]](/images/avatar/1)
Membro desde: 12/11/2004 00:00:00
Mensagens: 353
Offline
|
Pessoal , essa questão afirma que foram criadas 2 objetos string(1 referenciado por x e a String perdida "xyz"):
String x=new String("xyz");
Não seria somente um (objeto xyz) ?
|
http:// |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2006 16:14:52
|
BrunoCarloPJ
GUJ Master
![[Avatar]](/images/avatar/1)
Membro desde: 31/05/2004 00:00:00
Mensagens: 1344
Offline
|
Ola
Até onde eu lembrava deste assunto, se vc usar o construtor new da string ou simplismente atribuir o valor, era a mesma coisa, então quando vc coloca desta forma é criado no pool de strings, acho que vc deve estar lendo isto agora, uma string "zyx", e esta referencia é dada ao x... mas não me lembro muito bem deste tópico.
|
http:// |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2006 16:29:57
|
jaireltonPJ
GUJ Expert
![[Avatar]](/images/avatar/1)
Membro desde: 06/06/2005 00:00:00
Mensagens: 3276
Offline
|
Esse construtor da classe String recebe um objeto da propria classe String, sendo assim, ao criar um objeto já deve existir outro (no caso é um literal), a String criada pelo construtor é só uma copia da original passada como parametro, portanto, são duas...
"xyz" //cria um objeto
new String() //cria o outro
|
http://jairelton.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2006 16:42:59
|
absolutionPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 01/02/2005 00:00:00
Mensagens: 11
Offline
|
so para complementar, o primeiro objeto "xyz" eh criado no pool de strings, enquanto o segundo objeto new String() eh alocado no heap. Portanto, sao dois objetos.
|
|
|
 |
|
|