Med Java-enumerationer kan du skapa variabler med fasta värden. Dessa skrivs med versaler och kan inte ändras. De används för att förbättra logiken och läsbarheten i din kod och kan hjälpa dig att skapa ren kod.

Vad är Java-enumerationer?

I Java avser enums en speciell datatyp som kan användas inom konventionella klasser men som skiljer sig från konventionella klasser i ett viktigt avseende. En enum är en typ av variabel som har specifikt definierade, fasta och därför begränsade värdealternativ. Java-enums är konstanter som förhindrar att oönskade värden används i koden. Detta säkerställer att kodens struktur är logisk och ökar läsbarheten. Termen “enum” kommer från ordet “enumeration” (uppräkning).

Vad är syntaxen för Java-enumerationer?

Syntaxen för Java-enumerationer är alltid strukturerad på samma sätt och ser ut så här:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Om du vill definiera en enum-klass börjar du med nyckelordet enum, som du använder istället för class eller interface. Därefter namnger du den speciella klassen och placerar de önskade tillåtna konstanterna inom klamrarna. Konstanterna skrivs alltid med versaler och separeras från varandra med kommatecken.

Hur man skapar en klass med enum

Ett sätt att använda Java-enumerationer är att skapa en lista med årets månader. En sådan lista skulle bara innehålla tolv möjliga värden. Om en variabel av typen Months behövs vid ett senare tillfälle är det bara de definierade konstanterna som är tillåtna. Så här skriver du koden:

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

För att deklarera en variabel av typen Months, tilldela den ett värde och använd Java-kommandot System.out.println för att visa den. I koden ser det ut så här:

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

Hur man använder Java-enumerationer inom en klass

Du kan också använda Java-enumerationer inom en klass. För exemplet ovan skulle det se ut så här:

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

Hur man använder values() -metoden för att söka efter alla konstanter

Om du vill visa alla tillgängliga värden kan du använda metoden values(). Denna metod visar konstanter i form av en array. Så här gör du med vårt exempel ovan:

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

Hur man använder Java-enumerationer med switch()

Du kan också kombinera Java-enumerationer med andra metoder. Så här ser det ut när det kombineras 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
Gå till huvudmeny