Sobes.tech
Junior — Middle

Spiega il concetto di Enum Class e la sua differenza rispetto alle enumerazioni normali

sobes.tech AI

Risposta dell'AI

In Android (e in Java in generale), enum class è una classe di enumerazione che rappresenta un insieme di costanti con la possibilità di aggiungere campi, metodi e costruttori.

Differenze rispetto alle enumerazioni normali (ad esempio in C o costanti semplici):

  • Sicurezza di tipo — enum è una classe completa, e una variabile di tipo enum può assumere solo i valori definiti.
  • Possibilità di aggiungere comportamento — si possono definire metodi e campi all’interno dell’enum.
  • Utilizzo in switch — enum è comodo da usare nelle istruzioni di scelta.

Esempio di enum in Java/Android:

public enum Status {
    NEW(0),
    IN_PROGRESS(1),
    DONE(2);

    private int code;

    Status(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}

Pertanto, enum class è un modo esteso di definire un insieme fisso di costanti con funzionalità aggiuntive, a differenza delle enumerazioni semplici, che possono essere solo un insieme di numeri o stringhe senza logica.