Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

String instanciada não está fora do pool?

Olá, em relação a esse tópico da contabilidade de instâncias, comenta que o primeiro "hello " é colocado no pool, mas no video anterior foi dito que quando se instancia não é colocado no pool. Não entendi.

3 respostas

Fala Filipe, tudo bem?

Todo literal é colocado no pool, como "hello " é literal, ele vai para o pool.

Quando a gente faz new String("hello ") esse valor não vai para o pool.

Mas nos 8:20 desse vídeo ele fala que o "hello " do new String("hello ") vai pro pool

Então, a questão é:

new String("hello ")

No código acima, estamos criando dois objetos String, concorda (um literal e um pelo new)? Porém, desses dois objetos String criados, apenas o "hello " (que é literal) vai para o pool (desde que o "hello " já não esteja no pool, caso contrário é o mesmo "hello " que já estava no pool).