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
}
java

Ak 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
}
java

Ak 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);
	}
}
java

Ako 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);
		}
}
java

Ako 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);
		}
	}
}
java

Ako 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
Prejsť na hlavné menu