Junior — Middle
Објасните концепт Enum Class и његову разлику од обичних избројавања
sobes.tech АИ
Одговор од АИ
U Androidu (i opšte u Javi) enum class je klasa enumeracije koja predstavlja skup konstanti sa mogućnošću dodavanja polja, metoda i konstruktora.
Razlike u odnosu na obične enumeracije (npr. u C ili jednostavne konstante):
- Tip sigurnosti — enum je potpuna klasa, i promenljiva tipa enum može da prihvati samo definisane vrednosti.
- Mogućnost dodavanja ponašanja — moguće je definisati metode i polja unutar enum-a.
- Korišćenje u switch — enum je zgodan za korišćenje u izborima.
Primer enum u 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;
}
}
Dakle, enum class je prošireni način definisanja fiksnog skupa konstanti sa dodatnom funkcionalnošću, za razliku od jednostavnih enumeracija koje mogu biti samo skup brojeva ili stringova bez logike.