Junior — Middle
Como pode uma classe ser implementada para que o seu estado seja imutável após a criação?
sobes.tech IA
Resposta da IA
Para criar uma classe imutável em Java, deve-se:
- Tornar a classe
finalpara que não possa ser herdada nem alterar o comportamento. - Declarar todos os campos da classe como
private final. - Inicializar todos os campos através do construtor.
- Não fornecer setters (métodos para modificar os campos).
- Se os campos forem objetos mutáveis (por exemplo, arrays, coleções), criar cópias deles ao passá-los ao construtor e ao retorná-los pelos getters.
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 tipo de classe, após criar o objeto, não permite alterar seu estado.