Sådan bruger du Java-enums til at oprette konstanter i din kode
Med Java-enums kan du oprette variabler med faste værdier. Disse skrives med store bogstaver og kan ikke ændres. De bruges til at forbedre logikken og læsbarheden i din kode og kan hjælpe dig med at oprette ren kode.
Hvad er Java-enums?
I Java henviser enums til en særlig datatype, der kan bruges inden for konventionelle klasser, men som adskiller sig fra konventionelle klasser på ét vigtigt punkt. En enum er en type variabel, der har specifikt definerede, faste og derfor begrænsede værdiindstillinger. Java-enums er konstanter, der forhindrer uønskede værdier i at blive brugt i koden. Dette sikrer, at kodens struktur er logisk og øger læsbarheden. Udtrykket ‘enum’ kommer fra ordet ‘enumeration’ (opregning).
Hvad er syntaksen for Java-enums?
Syntaksen for Java-enums er altid struktureret på samme måde og ser således ud:
enum NameOfTheClass {
VALUE1,
VALUE2,
VALUE3
}javaSå hvis du vil definere en enum-klasse, skal du starte med nøgleordet enum, som du bruger i stedet for class eller interface. Giv derefter den specielle klasse et navn, og placer de ønskede tilladte konstanter i de krøllede parenteser. Konstanterne skrives altid med store bogstaver og adskilles fra hinanden med kommaer.
Sådan oprettes en klasse med enum
En måde, du kan bruge Java-enums på, er at oprette en liste, der indeholder årets måneder. En sådan liste vil kun indeholde tolv mulige værdier. Hvis der senere er brug for en variabel af typen Months, er det kun de definerede konstanter, der er tilladt. Sådan skriver du koden:
enum Months {
JANUARY,
FEBRUARY,
MARCH,
APRIL,
MAY,
JUNE,
JULY,
AUGUST,
SEPTEMBER,
OCTOBER,
NOVEMBER,
DECEMBER
}javaFor at deklarere en variabel af typen Months skal du tildele den en værdi og bruge Java-kommandoen System.out.println til at vise den. Det ser således ud i koden:
public class Main {
public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
}
}javaSådan bruges Java-enums inden for en klasse
Du kan også bruge Java-enums inden for en klasse. I eksemplet ovenfor ville det se sådan ud:
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);
}
}javaSådan bruges values() -metoden til at søge efter alle konstanter
Hvis du vil vise alle tilgængelige værdier, kan du bruge metoden values(). Dette udgiver konstanter i form af en matrix. Sådan gør du med vores eksempel ovenfor:
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);
}
}
}javaSådan bruges Java-enums med switch()
Du kan også kombinere Java-enums med andre metoder. Sådan ser det ud, når det kombineres med 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