Capitulo 6 (Strings)

3 respostas
B

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) ?

3 Respostas

B

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.

J

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

A

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.

Criado 3 de outubro de 2006
Ultima resposta 24 de out. de 2006
Respostas 3
Participantes 4