Sobes.tech
Junior — Middle

Explicați conceptul de Enum Class și diferența față de enumerările obișnuite

sobes.tech AI

Răspuns de la AI

În Android (și în Java în general), enum class este o clasă de enumerare care reprezintă un set de constante, cu posibilitatea de a adăuga câmpuri, metode și constructori.

Diferențe față de enumerările obișnuite (de exemplu, în C sau constante simple):

  • Siguranță de tip — enum este o clasă completă, iar o variabilă de tip enum poate accepta doar valorile definite.
  • Posibilitatea de a adăuga comportament — se pot defini metode și câmpuri în interiorul enum.
  • Utilizare în switch — enum este convenabil de folosit în instrucțiuni de selecție.

Exemplu de enum în 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;
    }
}

Prin urmare, enum class este o metodă extinsă de a defini un set fix de constante cu funcționalitate suplimentară, spre deosebire de enumerațiile simple, care pot fi doar un set de numere sau șiruri de caractere fără logică.