[Resolvido]System.out.println(s1" "s2), cria um novo objeto String?

Revisando esse assunto na pagina 245 do livro em português guia de estudos scjp 6, me deparei na página 245 com um trecho de código e fiquei com uma dúvida segue abaixo a dúvida.

Sendo s1 e s2 Strings inicializadas corretamente, o trecho abaixo irá criar uma nova String?

Essa dúvida surgiu, pois na página referida existe um pedaço de código, e o autor diz que são criados oito objetos strings, mas não inclui a string, que a meu ver é criada dentro do System.out.println(s1+" "+s2), pois eu vejo que foi criada ali uma String, como resultado da concatenação…

Agradeço.

Boa também fiquei com duvida agora :expressionless: Até então poderia afirmar que era só concatenação :wink:

:thumbup:

Sim, irá criar uma String com o conteúdo:
s1+" "+s2

Essa String será passada para a função println da classe PrintStream (classe do out) e será impressa na tela.

[quote=ViniGodoy]Sim, irá criar uma String com o conteúdo:
s1+" "+s2

Essa String será passada para a função println da classe PrintStream (classe do out) e será impressa na tela.[/quote]

Então é uma nova String :?:

O conteúdo não é s1+" "+s2, seria o valor de cada variável e um espaço entre elas.

:thumbup:

Sim é uma nova.

E sobre o conteúdo, foi o que eu quis dizer.

Viny uma pergunta, se fosse uma questão eu não poderia imaginar que a instrução está criando duas Strings?

primeiro s1+" “
segundo (s1+” ")+s2

Obrigado.

[quote=ribclauport]

Viny uma pergunta, se fosse uma questão eu não poderia imaginar que a instrução está criando duas Strings?

primeiro s1+" “
segundo (s1+” ")+s2

Obrigado.[/quote]

sim, é como um processo matemático:

1 + 1 + 1 = 3

sendo que 1 + 1 = 2
2 + 1 = 3

aqui tem uma boa explicação sobre String: http://www.guj.com.br/articles/103

[]'s

edit: foi mau o “up” no tópico, não vi que ele era antigo.

Opa valeu a resposta, o tópico era antigo mas não estava resolvido, vou fechar o tópidco.