Sobes.tech
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:

  1. Dichiarare la classe come final — in modo che non possa essere creata una sottoclasse che ne modifichi il comportamento.
  2. Rendere tutti i campi private e final — in modo che non possano essere modificati dopo l'inizializzazione.
  3. Non fornire setter (metodi per modificare i campi).
  4. Inizializzare tutti i campi tramite il costruttore.
  5. 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.