A Java enumokkal fix értékű változókat hozhat létre. Ezeket nagybetűvel írják, és nem lehet őket megváltoztatni. A kód logikájának és olvashatóságának javítására szolgálnak, és segítenek a tiszta kód létrehozásában.

Mik azok a Java enumok?

Java-ban az enumok egy speciális adattípust jelölnek, amely hagyományos osztályokon belül használható, de egy fontos szempontból eltér a hagyományos osztályoktól. Az enum egy olyan változótípus, amelynek értékei pontosan meghatározottak, rögzítettek és ezért korlátozottak. A Java enumok olyan konstansok, amelyek megakadályozzák a nem kívánt értékek használatát a kódban. Ez biztosítja a kód logikus felépítését és növeli az olvashatóságot. Az „enum” kifejezés az „enumeration” (felsorolás) szóból származik.

Mi a Java enumok szintaxisa?

A Java enumok szintaxisa mindig ugyanúgy épül fel, és így néz ki:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Ha tehát egy enum osztályt szeretne definiálni, kezdje a enum kulcsszóval, amelyet class vagy interface helyett használ. Ezután nevezze el a speciális osztályt, és helyezze a kívánt megengedett konstansokat a hullámjelek közé. A konstansokat mindig nagybetűvel írjuk, és vesszővel választjuk el egymástól.

Hogyan lehet osztályt létrehozni enummal?

A Java enumok egyik felhasználási módja az év hónapjait tartalmazó lista létrehozása. Egy ilyen lista csak tizenkét lehetséges értéket tartalmazhat. Ha később egy Months típusú változóra van szükség, csak a definiált konstansok használhatók. A kód így írható:

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

A Months típusú változó deklarálásához rendeljen hozzá egy értéket, majd a Java parancs System.out.println segítségével jelenítsd meg. A kódban ez így néz ki:

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

Hogyan használjuk a Java enumokat egy osztályon belül?

A Java enumokat osztályokon belül is használhatja. A fenti példában ez így nézne ki:

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

Hogyan lehet a values() módszerrel lekérdezni az összes állandót?

Ha az összes rendelkezésre álló értéket meg szeretné jeleníteni, használhatja a values() módszert. Ez a konstansokat tömb formájában adja ki. Íme, hogyan lehet ezt megtenni a fenti példánkban:

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

Hogyan használjuk a Java enumokat switch() verzióval?

A Java enumokat más módszerekkel is kombinálhatja. Így néz ki, ha a switch()-tel kombinálja:

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
Ugrás a főmenübe