3
respostas

Resposta correta - replace

Código fonte na atividade:

String nome = "Mario"; nome = nome.replace('o', 'a'); System.out.println(nome);

resposta incorreta na atividade: Mario Resposta correta é Maria, pois o valor está sendo recebido na mesma variável

3 respostas

String nome = "Mario"; nome.replace('o', 'a'); System.out.println(nome);

O valor do replace não está sendo guardado.

Bom dia Jefferson, por ser imutável, quando chamamos um método em uma String, é criada uma nova String, Então no exemplo da sua dúvida:

nome = nome.replace('o', 'a');

Você pegou a referencia da nova String e guardou na sua variável nome, por isso alterou para Maria. Já no exercício não, por isso manteve Mario.

Resumindo, no exercício:

String nome = "Mario"; 
nome.replace('o', 'a');
 System.out.println(nome);

No teu código:

String nome = "Mario"; 
nome = nome.replace('o', 'a');
 System.out.println(nome);

No seu código, você "salva" (ou guarda) essa informação na variável, porém no exercício ele não faz isso, ou seja, sem guardar o replace em uma variável não é possível visualizar a alteração, entendeu?