Junior — Middle
Como tornar um objeto de classe imutável após a sua criação?
sobes.tech IA
Resposta da IA
Para tornar um objeto de classe em Java imutável, deve-se:
- Declarar a classe como final, para que não possa ser herdada nem alterar o comportamento.
- Tornar todos os campos privados e finais, para que não possam ser alterados após a inicialização.
- Não fornecer setters para os campos.
- Inicializar todos os campos através do construtor.
- Se os campos forem objetos mutáveis (por exemplo, coleções), criar cópias deles ao atribuir e ao retornar através dos getters, para evitar alterações externas.
Exemplo:
public final class ImmutablePerson {
private final String name;
private final int age;
public ImmutablePerson(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Este objeto não pode ser alterado após a criação.