Pomocí enumů v Javě můžete vytvářet proměnné s pevnými hodnotami. Tyto proměnné se zapisují velkými písmeny a nelze je měnit. Slouží ke zlepšení logiky a čitelnosti kódu a mohou vám pomoci vytvořit čistý kód.

Co jsou to Java enumy?

V jazyce Java se enumy vztahují ke speciálnímu datovému typu, který lze použít v konvenčních třídách, ale liší se od konvenčních tříd v jednom klíčovém aspektu. Enum je typ proměnné, která má specificky definované, pevné a tudíž omezené možnosti hodnot. Java enumy jsou konstanty, které zabraňují použití nežádoucích hodnot v kódu. Tím je zajištěna logická struktura kódu a zvýšená čitelnost. Termín „enum“ pochází ze slova „enumeration“ (výčet).

Jaká je syntaxe pro výčty v Javě?

Syntaxe pro výčty v Javě má vždy stejnou strukturu a vypadá takto:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Pokud tedy chcete definovat třídu enum, začněte klíčovým slovem enum, které použijete místo class nebo interface. Poté pojmenujte speciální třídu a vložte požadované povolené konstanty do složených závorek. Konstanty se vždy píší velkými písmeny a oddělují se od sebe čárkami.

Jak vytvořit třídu s výčtem

Jedním ze způsobů, jak můžete použít výčty Java, je vytvoření seznamu obsahujícího měsíce v roce. Takový seznam by obsahoval pouze dvanáct možných hodnot. Pokud je v pozdější fázi potřeba proměnná typu Months, jsou povoleny pouze definované konstanty. Zde je příklad, jak napsat kód:

enum Months {
	JANUARY,
	FEBRUARY,
	MARCH,
	APRIL,
	MAY,
	JUNE,
	JULY,
	AUGUST,
	SEPTEMBER,
	OCTOBER,
	NOVEMBER,
	DECEMBER
}
java

Chcete-li deklarovat proměnnou typu Months, přiřaďte jí hodnotu a použijte příkaz Java System.out.println k jejímu zobrazení. V kódu to vypadá takto:

public class Main {
	public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
	}
}
java

Jak používat výčty Java v rámci třídy

Java enums můžete také použít v rámci třídy. V případě výše uvedeného příkladu by to vypadalo 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

Jak použít metodu values() k dotazování všech konstant

Pokud chcete zobrazit všechny dostupné hodnoty, můžete použít metodu values(). Ta vypisuje konstanty ve formě pole. Takto to provedete v našem příkladu výše:

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

Jak používat výčty Java s switch()

Java enumy můžete také kombinovat s jinými metodami. Takto to vypadá v kombinaci 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
Přejít do hlavního menu