1
resposta

Por qual motivo foi possível alterar a variável?

Inicializei a variável outra e depois alterei . pq foi mudado?

public class TesteString {

    public static void main(String[] args) {

        String nome ="Alura";

            String outra =    nome.replace("A","a");

        System.out.println(outra);
        System.out.println(outra.replace("a","A"));
        outra =outra.replace("a","A");
        System.out.println(outra);

    }

}
1 resposta

Boa noite Douglas,

Quando você utiliza o método "replace" ele não altera a variável "outra", porque ele continua apontando para a String anterior, porém você consegue imprimir o "replace", onde o "Sysout" vai imprimir o resultado do retorno do método replace.

Em outras palavras, temos o método replace que te retorna uma String (uma nova String), você pode imprimir essa nova string retornada (com Sysout) ou guardar na variável "outra".

A variável outra é do tipo String, aponta para um Objeto String retornado pelo método replace ao fazer

nome.replace("A","a");

Se outra é do tipo String, ele tem o método replace com ele, e porisso é possivel chamar dele mesmo

outra.replace("a","A") 

e novamente temos mais um retorno do tipo String (com o replace realizado) , e o que voce fez foi Guardar na variavel outra:

outra =outra.replace("a","A");

ou pode imprimir sem guardar em nenhuma variável:

System.out.println(outra.replace("a","A"));