Sobes.tech
Junior — Middle

Vysvětlete pojem Enum Class a jeho rozdíl od běžných výčtů

sobes.tech AI

Odpověď od AI

V Androidu (a obecně v Javě) je enum class třída výčtu, která představuje sadu konstant s možností přidávat pole, metody a konstruktory.

Rozdíly od běžných výčtů (například v C nebo jednoduchých konstant):

  • Typová bezpečnost — enum je plnohodnotná třída a proměnná typu enum může nabývat pouze definovaných hodnot.
  • Možnost přidávat chování — uvnitř enum lze definovat metody a pole.
  • Použití v switch — enum je vhodný k použití ve větvích.

Příklad enum v 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;
    }
}

Tedy, enum class je rozšířený způsob definice pevné sady konstant s dodatečnou funkcionalitou, na rozdíl od jednoduchých výčtů, které mohou být pouze souborem čísel nebo řetězců bez logiky.