Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Strings

Olá, eu entendi que as Strings são imutáveis. Mas se eu usar a mesma variável, há algum problema? Gostaria de mais detalhes sobre isso :D

public static void main(String[] args) {

        String s = "fj11";
        s = s.replaceAll("1", "2");
        System.out.println(s);
    }
3 respostas

Strings são MUTÁVEIS. Não há problema nenhum (no contexto do compilador) em reutilizar a mesma variável para diversos valores, nem mesmo neste caso onde você está usando a mesma variável como entrada e saída de um processamento.

O texto de explicação diz que são imutáveis.

"Fato importante: uma String é imutável. O java cria um pool de Strings para usar como cache e, se a String não fosse imutável, mudando o valor de uma String afetaria todas as Strings de outras classes que tivessem o mesmo valor."

solução!

Strings são IMUTAVEIS. Cuidado para não passar informações erradas, colega.

Pedro, no caso, quando você deu replace, mesmo que esteja aparentemente utilizando a mesma String, o Java na verdade criou outro objeto na memória.