Junior — Middle
Wyjaśnij pojęcie Enum Class i jego różnicę od zwykłych enumeracji
sobes.tech AI
Odpowiedź od AI
W Androidzie (i ogólnie w Java) enum class to klasa wyliczeniowa, która reprezentuje zbiór stałych z możliwością dodawania pól, metod i konstruktorów.
Różnice w porównaniu do zwykłych wyliczeń (np. w C lub prostych stałych):
- Bezpieczeństwo typów — enum jest pełnoprawną klasą, a zmienna typu enum może przyjąć tylko zdefiniowane wartości.
- Możliwość dodawania zachowania — można definiować metody i pola wewnątrz enum.
- Użycie w switch — enum jest wygodny do użycia w instrukcjach wyboru.
Przykład enum w 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 więc, enum class to rozszerzony sposób definiowania stałego zestawu stałych z dodatkowymi funkcjami, w odróżnieniu od prostych wyliczeń, które mogą być po prostu zbiorem liczb lub łańcuchów bez logiki.