Naudodami Java enums, galite kurti kin­ta­muo­sius su fik­suo­to­mis reikš­mė­mis. Jie rašomi di­džio­sio­mis raidėmis ir negali būti keičiami. Jie naudojami siekiant pagerinti kodo logiką ir skai­to­mu­mą bei padėti kurti švarų kodą.

Kas yra Java enums?

Java kalboje enums reiškia specialų duomenų tipą, kuris gali būti nau­do­ja­mas tra­di­ci­nė­se klasėse, tačiau vienu svarbiu aspektu skiriasi nuo tra­di­ci­nių klasių. Enum yra kin­ta­ma­sis tipas, turintis konk­re­čiai api­brėž­tas, fiksuotas ir todėl ribotas vertės parinktis. Java enums yra kons­tan­tos, kurios neleidžia naudoti ne­pa­gei­dau­ja­mų verčių kode. Tai užtikrina, kad kodo struktūra būtų logiška, ir padidina jo skai­to­mu­mą. Terminas „enum“ kilęs iš žodžio „enu­me­ra­tion“ (iš­var­di­ji­mas).

Kokia yra Java enumų sintaksė?

Java enumų sintaksė visada yra vienoda ir atrodo taip:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Taigi, jei norite apibrėžti enum klasę, pradėkite nuo rak­ta­žo­džio enum, kurį naudojate vietoj class arba interface. Tada pa­va­din­ki­te specialią klasę ir įrašykite norimas lei­džia­mas kons­tan­tas į skliaus­te­lius. Kons­tan­tes visada rašomos di­džio­sio­mis raidėmis ir at­ski­ria­mos viena nuo kitos kab­le­liais.

Kaip sukurti klasę su enum

Vienas iš būdų, kaip galite naudoti Java enums, yra sukurti sąrašą, kuriame būtų nurodyti metų mėnesiai. Tokiame sąraše būtų tik dvylika galimų verčių. Jei vėliau prireiktų Months tipo kintamojo, būtų leidžiama naudoti tik api­brėž­tas kons­tan­tas. Štai kaip parašyti kodą:

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

Norėdami dekla­ruo­ti Months tipo kintamąjį, pri­skir­ki­te jam vertę ir naudokite Java komandą System.out.println, kad jį pa­ro­dy­tu­mė­te. Kodas atrodo taip:

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

Kaip naudoti Java enums klasėje

Java enums taip pat galima naudoti klasėje. Pa­teik­ta­me pavyzdyje tai atrodytų taip:

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

Kaip naudoti values() metodą, kad būtų galima užklausti visas kons­tan­tas

Jei norite parodyti visas galimas reikšmes, galite naudoti values() metodą. Jis išveda kons­tan­tas masyvo forma. Štai kaip tai padaryti naudojant mūsų pavyzdį iš aukščiau:

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

Kaip naudoti Java enums su switch()

Java enums taip pat galima derinti su kitais metodais. Štai kaip tai atrodo, kai derinama su 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