Ar Java enums varat izveidot mainīgos ar fiksētām vērtībām. Tie tiek rakstīti ar lielajiem burtiem un tos nevar mainīt. Tie tiek izmantoti, lai uzlabotu koda loģiku un lasāmību, un var palīdzēt izveidot tīru kodu.

Kas ir Java enums?

Java valodā enums ir īpašs datu tips, ko var izmantot tra­di­cio­nā­lās klasēs, bet kas atšķiras no tra­di­cio­nā­la­jām klasēm vienā būtiskā aspektā. Enum ir mainīgais, kam ir īpaši definētas, fiksētas un tādējādi ie­ro­be­žo­tas vērtību opcijas. Java enums ir kon­stan­tes, kas neļauj kodā izmantot nevēlamas vērtības. Tas nodrošina koda struk­tū­ras loģiskumu un palielina lasāmību. Termins „enum” cēlies no vārda „enu­me­ra­tion” (uz­skai­tī­ša­na).

Kāda ir Java enumu sintakse?

Java enumu sintakse vienmēr ir struk­tu­rē­ta vienādi un izskatās šādi:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Tātad, ja vēlaties definēt enum klasi, sāciet ar at­slēg­vār­du enum, ko iz­man­to­jat class vai interface vietā. Tad nosauciet īpašo klasi un ie­vie­to­jiet vēlamās atļautās kon­stan­tes izliektās iekavās. Kon­stan­tes vienmēr raksta ar lielajiem burtiem un atdalītas viena no otras ar komatiem.

Kā izveidot klasi ar enum

Viens no veidiem, kā var izmantot Java enums, ir izveidot sarakstu, kurā iekļauti gada mēneši. Šādā sarakstā varētu būt tikai div­pa­dsmit ie­spē­ja­mās vērtības. Ja vēlāk ir ne­pie­cie­ša­ma mainīgā tipa Months, ir atļauts izmantot tikai definētās kon­stan­tes. Šeit ir redzams, kā uzrakstīt kodu:

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

Lai deklarētu mainīgo tipa Months, pie­šķi­riet tam vērtību un iz­man­to­jiet Java komandu System.out.println, lai to parādītu. Kodā tas izskatās šādi:

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

Kā lietot Java enums klasē

Jūs varat izmantot Java enums arī klasē. Iepriekš minētajā piemērā tas iz­ska­tī­tos šādi:

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

Kā izmantot values() metodi, lai pie­pra­sī­tu visas kon­stan­tes

Ja vēlaties parādīt visas pieejamās vērtības, varat izmantot values() metodi. Tā izvada kon­stan­tes masīva veidā. Šeit ir parādīts, kā to izdarīt, iz­man­to­jot iepriekš minēto piemēru:

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

Kā lietot Java enums ar switch()

Jūs varat arī apvienot Java enums ar citām metodēm. Šeit ir redzams, kā tas izskatās, ja to apvieno ar 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
Go to Main Menu