Wyliczenia Java
Wyliczenia
An enum
to specjalna „klasa”, która reprezentuje grupę
stałych (zmiennych, których nie można zmienić, takich jak final
zmienne).
Aby utworzyć enum
, użyj enum
słowa kluczowego (zamiast class lub interface) i oddziel stałe przecinkami. Zwróć uwagę, że powinny być pisane wielkimi literami:
Przykład
enum Level {
LOW,
MEDIUM,
HIGH
}
Możesz uzyskać dostęp do enum
stałych za pomocą składni kropki :
Level myVar = Level.MEDIUM;
Enum jest skrótem od „wyliczenia”, co oznacza „konkretnie wymienione”.
Wyliczenie wewnątrz klasy
Możesz także mieć enum
wewnątrz klasy:
Przykład
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
Wynikiem będą:
MEDIUM
Wyliczenie w instrukcji Switch
Wyliczenia są często używane w switch
instrukcjach w celu sprawdzenia odpowiednich wartości:
Przykład
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch(myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
Wynikiem będą:
Medium level
Pętla przez wyliczenie
Typ enum ma values()
metodę, która zwraca tablicę wszystkich stałych enum. Ta metoda jest przydatna, gdy chcesz przejść przez stałe wyliczenia:
Przykład
for (Level myVar : Level.values()) {
System.out.println(myVar);
}
Wynikiem będą:
LOW
MEDIUM
HIGH
Różnica między wyliczeniami a klasami
Puszka enum
, podobnie jak class
, ma atrybuty i metody. Jedyną różnicą jest to, że stałe wyliczenia to public
, static
i final
(nie można ich zmienić — nie można ich nadpisać).
An enum
nie może służyć do tworzenia obiektów i nie może rozszerzać innych klas (ale może implementować interfejsy).
Dlaczego i kiedy używać wyliczeń?
Używaj wyliczeń, gdy masz wartości, o których wiesz, że się nie zmienią, takie jak dni miesiąca, dni, kolory, talia kart itp.