Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando uma String vai para o pool?

Olá devs,

Pelo explicado no curso, toda String literalmente declarada vai para o pool. Então gostaria de confirmar com vocês se nos casos abaixo, as strings declaradas vão de fato, para o pool:

String s1 = "s1";  
String s2 = new String("s2");
System.out.println("s3");
string s4 = "s4";
System.out.println("s" + "4"); // concatenações geram uma nova String, mas a mesma string já se encontra no pool (s4), e agora?

Estes foram os casos que me deparei, mas se lembrarem de casos que necessitem de mais atenção, compartilhem ai.

Grato.

1 resposta
solução!

Fala Thiago, tudo em paz?

Antes de tudo, atente que esse código não compila. String é uma classe, deve começar por letra maiúscula. Daria um erro de compilação em: string s4 = "s4";

Se entendi bem, as Strings, s1, s3 e s4 iriam para o pool. Na última linha, o compilador entende que é uma atribuição direta, vê que ela já está no pool e não cria um novo objeto. Vou dar uma revisada na aula, mas acho que é isso.

Abraço e boa sorte!