Ako používať Java enums na vytvorenie konštánt vo vašom kóde
Pomocou Java enums môžete vytvárať premenné s pevnými hodnotami. Tieto sú písané veľkými písmenami a nemožno ich meniť. Používajú sa na zlepšenie logiky a čitateľnosti vášho kódu a môžu vám pomôcť vytvoriť čistý kód.
Čo sú Java enums?
V jazyku Java sa enumy vzťahujú na špeciálny dátový typ, ktorý sa dá použiť v konvenčných triedach, ale od konvenčných tried sa líši v jednom kľúčovom aspekte. Enum je typ premennej, ktorá má špecificky definované, pevné a preto obmedzené možnosti hodnôt. Java enumy sú konštanty, ktoré zabraňujú používaniu nežiaducich hodnôt v kóde. Tým sa zabezpečuje logická štruktúra kódu a zvyšuje sa jeho čitateľnosť. Termín „enum“ pochádza zo slova „enumeration“ (výpočet).
Aká je syntax pre Java enums?
Syntax pre Java enums je vždy štruktúrovaná rovnako a vyzerá takto:
enum NameOfTheClass {
VALUE1,
VALUE2,
VALUE3
}javaAk teda chcete definovať triedu enum, začnite kľúčovým slovom enum, ktoré použijete namiesto class alebo interface. Potom pomenujte špeciálnu triedu a umiestnite požadované povolené konštanty do zátvoriek. Konštanty sa vždy píšu veľkými písmenami a oddeľujú sa od seba čiarkami.
Ako vytvoriť triedu s enum
Jedným zo spôsobov, ako môžete použiť Java enums, je vytvorenie zoznamu obsahujúceho mesiace v roku. Takýto zoznam by obsahoval len dvanásť možných hodnôt. Ak je neskôr potrebná premenná typu Months, sú povolené len definované konštanty. Tu je návod, ako napísať kód:
enum Months {
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER
}javaAk chcete deklarovať premennú typu Months, priraďte jej hodnotu a použite príkaz Java System.out.println na jej zobrazenie. V kóde to vyzerá takto:
public class Main {
public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
}
}javaAko používať Java enums v rámci triedy
Java enums môžete použiť aj v rámci triedy. V uvedenom príklade by to vyzeralo takto:
public class Main {
enum Months {
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER
}
public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
}
}javaAko používať metódu values() na vyhľadávanie všetkých konštánt
Ak chcete zobraziť všetky dostupné hodnoty, môžete použiť metódu values(). Táto metóda vypíše konštanty vo forme poľa. Tu je príklad, ako to urobiť s našim príkladom z vyššie uvedeného textu:
enum Months {
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER
}
public class Main {
public static void main(String[] args) {
for (Months month : Months.values()) {
System.out.println(month);
}
}
}javaAko používať Java enums s switch()
Java enums môžete kombinovať aj s inými metódami. Takto to vyzerá v kombinácii s switch():
enum Months {
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER
}
public class Main {
public static void main(String[] args) {
Months month = Months.APRIL;
switch (month) {
case APRIL:
System.out.println("The outdoor pool is closed.");
break;
case MAY:
System.out.println("The outdoor pool is closed.");
break;
case JUNE:
System.out.println("The outdoor pool eagerly awaits your visit!");
break;
// You can now try this out for all months.
}
}
}java