Oi Leandro! Tudo certo?
As strings em Java são imutáveis na parte dos objetos criados, e não da variável. Como assim?
Ao fazer String nome = "ALURA";
, você está criando um objeto do tipo String na memória, que é apontado pela variável nome
. Esse objeto é uma sequência de caracteres que não pode ser modificada na memória. Ao fazermos nome = nome.replace("AL", cs);
, o que acontece é que a JVM está criando um novo objeto na memória, que agora tem uma nova sequência de caracteres, e a variável nome
, que antes apontava para "ALURA", agora apontará para "alURA".
Repare que, pra gente, nada aconteceu de diferente: é como se tivéssemos modificado normalmente a string. Porém, na memória do computador, várias alterações foram feitas.
Espero ter ajudado! Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!