Instância de string

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+