Junior — Middle
Vysvetlite pojem Enum Class a jeho rozdiel od bežných výčtov
sobes.tech AI
Odpoveď od AI
V Androide (a všeobecne v Jave) je enum class trieda výčtu, ktorá predstavuje súbor konštánt s možnosťou pridania polí, metód a konštruktorov.
Rozdiely od bežných výčtov (napríklad v C alebo jednoduchých konštánt):
- Typová bezpečnosť — enum je úplná trieda a premenná typu enum môže nadobúdať iba definované hodnoty.
- Možnosť pridávať správanie — je možné definovať metódy a polia vnútri enum.
- Použitie v switch — enum je vhodný na použitie v vetveniach.
Prí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;
}
}
Takže, enum class je rozšírený spôsob definície pevného súboru konštánt s dodatočnou funkčnosťou, na rozdiel od jednoduchých výčtov, ktoré môžu byť len súborom čísel alebo reťazcov bez logiky.