1
resposta

"String", imutável?

Na transcrição de uma aula de Certificação JAVA SE 7 sobre tipos de dados, está e Na transcrição da aula, não me convenci bem que uma "String" é imutável com a justificativa do fato que a aplicação do método "toUpperCase()", na "String", não modifica seus caracteres minúsculos.

Por exemplo, se tenho uma String palavra com o conteúdo "JAVA", ao executar a linha ... palavra = "Alura"... , ao imprimir palavra, seu conteúdo será "Alura".

Tentei algumas coisas, como por exemplo checar o valor de referência como a gente faz com outros objetos, mas sem sucesso.

Alguém poderia propor um código para a gente constatar que uma String é imutável?

Grato.

1 resposta

Olá Rafael, tudo bem? Encontrei esse código com essa explicação, veja se ajuda:

String s = "Hello, World!";

// tentando modificar a string
s.concat(" Goodbye.");

// imprimindo a string original
System.out.println(s); // imprime "Hello, World!"

Neste exemplo, a tentativa de modificar a string original com o método concat() não tem efeito, pois as strings em Java são imutáveis. A string original permanece inalterada e a chamada ao método concat() retorna uma nova string com a concatenação dos valores, mas essa nova string não é atribuída a variável s.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software