Qual é a diferença entre mutável e imutável em Java
Índice:
o principal diferença entre mutável e imutável em Java é que mutável se refere à capacidade de modificar uma string, enquanto imutável se refere à impossibilidade de modificar uma string.
Java é uma linguagem de programação de alto nível que ajuda a desenvolver aplicativos de desktop, web e móveis. Por outro lado, uma string é um conjunto de caracteres. Em Java, os objetos String são imutáveis. Em outras palavras, as cordas são imutáveis. Portanto, uma vez que o programador cria um objeto string, os dados e o estado não podem ser alterados. No entanto, é possível criar um novo objeto string. No geral, mutável refere-se à capacidade de modificar, enquanto imutável descreve que não é possível modificar ou alterar.
Java, Immutable, Mutable, String
O que é mutável em Java
Mutável refere-se à capacidade de alterar ou modificar a string. Mesmo que não seja possível modificar uma string, existem algumas maneiras de alterá-la. A maneira comum de arquivar essa tarefa é usando StringBuffer e StringBuilder.
Figura 1: programa Java com StringBuffer e StringBuilder
No programa acima, sb1 é um objeto de StringBuffer. A linha 6 exibe o objeto e a linha 7, acrescenta outra string a sb1. A linha 8 exibe o objeto. Podemos ver que a String inicial é modificada. Portanto, StringBuffer ajuda a alterar a string. Portanto, é mutável. Da mesma forma, o StringBuilder também modifica a string fornecida.
StringBuffer é thread-safe, portanto, vários threads não podem acessar a String ao mesmo tempo. Por outro lado, o StringBuilder não é seguro para threads. Portanto, vários threads podem acessar a String ao mesmo tempo. Por esse motivo, StringBuilder é mais rápido que StringBuffer.
O que é imutável em Java
Imutável refere-se à incapacidade de modificar a String. Quando o programador cria uma String, não é possível alterá-la. Consulte o exemplo abaixo.
Figura 2: programa Java com String
De acordo com o programa acima, s é uma variável de referência. Refere-se à string “Hello” no conjunto de constantes da string. Em seguida, “Hello” é combinado com “World”. Nesse caso, o “Olá” inicial não muda. Em vez disso, uma nova String chamada “Hello World” é criada. Portanto, a linha 7 imprime apenas “Hello”. Isso mostra que não é possível alterar uma String. Em outras palavras, uma string é imutável.
Diferença entre mutável e imutável em Java
Definição
Mutável se refere à habilidade de mudar uma string, enquanto imutável se refere à impossibilidade de mudar uma string.
Aulas
StringBuffer e StringBuilder são mutáveis, enquanto String é imutável.
Conclusão
String se refere a um conjunto de caracteres. Em Java, String é imutável. Por outro lado, é possível tornar uma string mutável usando StringBuffer ou StringBuilder. A principal diferença entre mutável e imutável em Java é que mutável se refere à capacidade de modificar uma string, enquanto imutável se refere à impossibilidade de modificar uma string.
Referências:
1. “String imutável em Java - Javatpoint.” Www.javatpoint.com, disponível aqui.
![Qual é a diferença entre mutável e imutável em Java Qual é a diferença entre mutável e imutável em Java](https://img.books-kingdom.com/images/002/image-5245.jpg)