Java tem estados mutáveis ou imutáveis

1 resposta
F

De modo geral, as linguagens imperativas têm estados mutáveis, que significa atribuição por referência. Mas no Java, pelo visto não segue esta definição. Ex.:

public Double a = 1,4;

public Double b = a;

Eu consigo manipular cada um deles de modo individual (atribuição por valor), pois ele cria outro espaço na memória e atribui o valor lá, e não fazendo a referência dos dois em um único lugar na memória.

Gostaria de saber se é realmente isso… Se o Java é uma linguagem que tem seus estados imutáveis, apesar de a “definição geral” de que linguagens imperativas possuem estados imutáveis não colocar o Java como tal.

Definição que encontrei no curso e me causou a dúvida: imgbox - fast, simple image host

1 Resposta

staroski

No seu exemplo, a e b apontam para a mesma referência na memória.

No Java apenas nos tipos primitivos a atribuição é por valor.
Nos tipos não primitivos é por referência.
Double com D maiúsculo é uma classe, não é o tipo primitivo double.

Criado 14 de janeiro de 2023
Ultima resposta 15 de jan. de 2023
Respostas 1
Participantes 2