Kaip naudoti Java enums, kad sukurtumėte konstantas savo kode
Naudodami Java enums, galite kurti kintamuosius su fiksuotomis reikšmėmis. Jie rašomi didžiosiomis raidėmis ir negali būti keičiami. Jie naudojami siekiant pagerinti kodo logiką ir skaitomumą bei padėti kurti švarų kodą.
Kas yra Java enums?
Java kalboje enums reiškia specialų duomenų tipą, kuris gali būti naudojamas tradicinėse klasėse, tačiau vienu svarbiu aspektu skiriasi nuo tradicinių klasių. Enum yra kintamasis tipas, turintis konkrečiai apibrėžtas, fiksuotas ir todėl ribotas vertės parinktis. Java enums yra konstantos, kurios neleidžia naudoti nepageidaujamų verčių kode. Tai užtikrina, kad kodo struktūra būtų logiška, ir padidina jo skaitomumą. Terminas „enum“ kilęs iš žodžio „enumeration“ (išvardijimas).
Kokia yra Java enumų sintaksė?
Java enumų sintaksė visada yra vienoda ir atrodo taip:
enum NameOfTheClass {
VALUE1,
VALUE2,
VALUE3
}javaTaigi, jei norite apibrėžti enum klasę, pradėkite nuo raktažodžio enum, kurį naudojate vietoj class arba interface. Tada pavadinkite specialią klasę ir įrašykite norimas leidžiamas konstantas į skliaustelius. Konstantes visada rašomos didžiosiomis raidėmis ir atskiriamos viena nuo kitos kableliais.
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 apibrėžtas konstantas. Štai kaip parašyti kodą:
enum Months {
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER
}javaNorėdami deklaruoti Months tipo kintamąjį, priskirkite jam vertę ir naudokite Java komandą System.out.println, kad jį parodytumėte. Kodas atrodo taip:
public class Main {
public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
}
}javaKaip naudoti Java enums klasėje
Java enums taip pat galima naudoti klasėje. Pateiktame 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);
}
}javaKaip naudoti values() metodą, kad būtų galima užklausti visas konstantas
Jei norite parodyti visas galimas reikšmes, galite naudoti values() metodą. Jis išveda konstantas 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);
}
}
}javaKaip 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