Qual é a diferença entre mutável e imutável em Java

Índice:

Anonim

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