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

Executei o teste abaixo e a string foi modificada. Então fiquei sem entender o "imutável"

public class TesteString { 

    public static void main(String[] args) { 

    String nome = "Edson";
        nome = nome.replace('E', 'e');
        System.out.println(nome);

    }
}
1 resposta

Boa noite, Edson! Como vai?

Na realidade, a string não mudou. O que vc fez foi atribuir à referência nome uma outra string pra ela ficar olhando! Pra vc ver isso na prática, faça um novo teste com o código a seguir.

public class TesteString { 

    public static void main(String[] args) { 

        String nome = "Edson";
        String nome2 = nome.replace('E', 'e');
        System.out.println(nome);
        System.out.println(nome2);

    }
}

Você verá que o valor referenciado por nome continuará o mesmo!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!