Alô pessoal.
Conversando com alguns amigos surgiu uma dúvida:
Quando se faz new String(teste) um novo objeto String é instanciado;
Como é o comportamento para: “teste”
“teste” é um Objeto instânciado do tipo String ou “teste” é criado obedecendo alguma regra, por exemplo, da classe String de criação/instanciação estática, etc.
Não sei se fui claro?
É criado uma instância da classe String que tem como conteúdo a sequência de caracteres “Teste”, trocando em miúdos, o objeto criado é do tipo String e nunca “Teste”.
Abs,
Júlio.
Julio, legal, mas o que queria dizer era: a criação de uma outra string sem new se comporta do mesmo jeito que com o new? Por exemplo:
new String(teste01) é != de new String(teste01);
Da mesma forma:
“teste02” é != de “teste02” - (duas Strings)
Li um artigo dizendo que quando vc instancia uma string sem utilizar o método new, um objeto do tipo String é criado. Quando se faz a referência para uma string com o mesmo conteúdo (seqüência de caracteres) o JVM se encarrega de NÃO criar uma nova instância, fazendo com que seja utilizada a mesma.
- ou - ?
[quote=“deguelo”]Julio, legal, mas o que queria dizer era: a criação de uma outra string sem new se comporta do mesmo jeito que com o new? Por exemplo:
new String(teste01) é != de new String(teste01);
Da mesma forma:
“teste02” é != de “teste02” - (duas Strings)
Li um artigo dizendo que quando vc instancia uma string sem utilizar o método new, um objeto do tipo String é criado. Quando se faz a referência para uma string com o mesmo conteúdo (seqüência de caracteres) o JVM se encarrega de NÃO criar uma nova instância, fazendo com que seja utilizada a mesma.
- ou - ?[/quote]
nesse tópic eu postei algo q talvez te ajude a entender isso, da uma olhada:
http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=9240&highlight=new+string
Valeu matheus.
Esclareceu a duvida sim.
T+