Java enumitega saate luua muutujaid kindlate väär­tus­tega. Need kir­ju­ta­takse suur­täh­te­dega ja neid ei saa muuta. Neid ka­su­ta­takse koodi loogika ja loetavuse pa­ran­da­miseks ning need aitavad teil luua puhtamat koodi.

Mis on Java enumid?

Java keeles viitab enum spet­siaal­sele and­me­tüü­bile, mida saab kasutada ta­va­pä­ras­tes klassides, kuid mis erineb ta­va­pä­ras­test klas­si­dest ühe olulise aspekti poolest. Enum on muu­tu­ja­tüüp, millel on spet­siaal­selt mää­rat­le­tud, fik­see­ri­tud ja seega piiratud väär­tus­va­li­kud. Java enumid on kons­tan­did, mis ta­kis­ta­vad soo­vi­ma­tute väärtuste ka­su­ta­mist koodis. See tagab koodi loogilise struk­tuuri ja suurendab loetavust. Termin „enum” pärineb sõnast „enu­me­ra­tion” (loen­da­mine).

Mis on Java enumite süntaks?

Java enumite süntaks on alati ühesugune ja näeb välja järgmine:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Kui soovite mää­rat­leda enum-klassi, alustage märk­sõ­naga enum, mida kasutate class või interface asemel. Seejärel nimetage spet­siaalne klass ja paigutage soovitud lubatud kons­tan­did lok­ki­sul­gu­desse. Kons­tan­did kir­ju­ta­takse alati suur­täh­te­dega ja eral­da­takse üks­tei­sest komadega.

Kuidas luua klass enumiga

Üks viis Java enumite ka­su­ta­miseks on luua nimekiri, mis sisaldab aasta kuud. Selline nimekiri sisaldaks ainult kahtteist või­ma­likku väärtust. Kui hiljem on vaja tüüpi Months muutujat, on lubatud kasutada ainult mää­rat­le­tud konstante. Siin on näide koodi kir­ju­ta­mi­sest:

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

Tüübi Months muutuja dek­la­ree­ri­miseks määrake sellele väärtus ja kasutage Java-käsku System.out.println selle ku­va­miseks. Koodis näeb see välja järgmine:

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

Kuidas kasutada Java enumeid klassis

Java enumeid saab kasutada ka klassi sees. Eespool toodud näite puhul näeks see välja järgmine:

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

Kuidas kasutada values() meetodit kõigi kons­tan­tide päringuks

Kui soovite kuvada kõik saadaval olevad väärtused, võite kasutada meetodit values(). See väljastab kons­tan­did massiivi kujul. Siin on näide, kuidas seda teha eespool toodud näite puhul:

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

Kuidas kasutada Java enums koos switch()

Java enumeid saab kom­bi­nee­rida ka teiste mee­to­di­tega. Siin on näide, kuidas see välja näeb, kui seda kom­bi­nee­ri­takse switch()-ga:

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
Go to Main Menu