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

Atribuição em um objeto String

Podemos considerar que a atribuição pode alterar o valor do objeto nome? O que acontece na memória do computador quando executamos isto?

    String nome = "Alura";

    System.out.println(nome);

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

    nome = nome.toUpperCase();
    System.out.println(nome);
2 respostas
solução!

Oie Jefferson,

Geralmente você não pode alterar a variável inicial pois ela é a tua referência. Logo após a primeira alteração você perde o valor inicial dela na memória pois há uma substituição.

Você pode usar isso para ficar mais legal:

String nome = "Alura";

System.out.println(nome);

String replaceNome = nome.replace("A","a");
System.out.println(replaceNome);

String UpperCaseNome = nome.toUpperCase();
System.out.println(UpperCaseNome);

Perceba que se tu chamar novamente o nome ele ainda vai ter o valor original. Mas isso não quer dizer que é errado. Por exemplo em palavras de temperatura por exemplo ou contadores essa alteração é na mesma variável.

Você pode pensar assim: Todo o resultado do processamento de uma informação vou guardar em uma nova variável. Se eu precisar desse valor inicial, eu tenho que criar nova variável para o próximo processamento, se não, eu posso alterar na mesma variável.

Se te ajudou de alguma forma, marca como resolvido para mais pessoas acharem essa resposta.

Obrigado Fábio.