Junior — Middle
Quali principi devono essere usati nella creazione di una classe in Java per renderla immutabile?
sobes.tech AI
Risposta dell'AI
Per rendere una classe in Java immutabile, è necessario seguire alcuni principi:
- Dichiarare la classe come
final— in modo che non possa essere creata una sottoclasse che ne modifichi il comportamento. - Rendere tutti i campi
privateefinal— in modo che non possano essere modificati dopo l'inizializzazione. - Non fornire setter (metodi per modificare i campi).
- Inizializzare tutti i campi tramite il costruttore.
- Se i campi sono riferimenti a oggetti modificabili (ad esempio, array, collezioni), crearne copie durante l'assegnazione e al ritorno dai getter, in modo che le modifiche esterne non influenzino lo stato interno.
Esempio:
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;
}
}
Una classe di questo tipo, dopo aver creato l'oggetto, non permette di modificarne lo stato, il che è utile per la sicurezza dei thread e la prevedibilità del comportamento.