3
respostas

Acredito que a resposta esteja errada...

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

Uma String nunca é alterada e o System.out.println está mostrando a String original, então é para mostrar Mario e na resposta tem como se a String tivesse sido modificada...

3 respostas

Você deixou "solta" essa modificação, uma opção seria:

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

Nesse caso, eu testei no Eclipse e modificou sim a letra do nome de Mario para Maria.

Olá, Jerusa! Tudo bem?

Como o Juliano e o Gilvani explicaram bem acima, a resposta está correta.

O fato de utilizarmos o .replace() não significa que estamos atribuindo um novo valor para a String:

public class TesteString {

    public static void main(String[] args) {

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

Perceba que no exemplo nós utilizamos o nome.replace('o','a'), mas não atribuímos o retorno do método replace a nenhuma String

No caso, para que a String seja alterada, ao usar o replace() nós devemos atribuir o novo valor:

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

Dessa forma a String nome recebe o retorno do método replace

Consegui te ajudar com essa resposta?

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!