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.