1
resposta

Alterando String sem criar nova String

Eu utilizei o seguinte código, a variável "nome" recebe a String do método .toUpperCase(), ao invés de enviar a alteração para uma nova variável.

        String nome = "alura";
        nome = nome.toUpperCase();
        System.out.println(nome);

Em alguns casos isso pode ser útil acredito.

1 resposta

Na verdade o que você fez foi apontar a referência da variável nome para outro endereço de memória, que vai armazenar o valor de nome.toUpperCase() A string "Alura" vai continuar existindo na memória, até ser eliminada pelo Garbage Collector (GC). Strings são imutáveis, eu demorei a entender esse conceito, e só ficou claro depois de entender bem os conceitos de variável, referência e objeto.