# Hvordan bruke Java-enumerasjoner til å opprette konstanter i koden din

Med Java-enumerasjoner kan du opprette variabler med faste verdier. Disse skrives med store bokstaver og kan ikke endres. De brukes til å forbedre logikken og lesbarheten i koden din og kan hjelpe deg med å lage ren kode.

## Hva er Java-enumerasjoner?

I Java refererer enums til en spesiell [datatype](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/java-datatyper/) som kan brukes i konvensjonelle klasser, men som skiller seg fra konvensjonelle klasser på ett viktig punkt. En enum er en type variabel som har **spesifikt definerte, faste og derfor begrensede verdivalg**. Java-enums er konstanter som forhindrer at uønskede verdier brukes i koden. Dette sikrer at kodestrukturen er logisk og øker lesbarheten. Begrepet «enum» kommer fra ordet «enumeration» (oppregning).

## Hva er syntaksen for Java-enumerasjoner?

Syntaksen for Java-enumerasjoner er alltid strukturert på samme måte og ser slik ut:

```java
enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
```

Så hvis du vil definere en enum-klasse, begynn med nøkkelordet `enum`, som du bruker i stedet for `class` eller `interface`. Gi deretter den spesielle klassen et navn og plasser de ønskede tillatte konstantene i krøllparentesene. Konstantene **skrives alltid med store bokstaver** og skilles fra hverandre med komma.

## Hvordan opprette en klasse med enum

En måte du kan bruke Java-enumerasjoner på, er å lage en liste som inneholder månedene i året. En slik liste vil bare inneholde tolv mulige verdier. Hvis det senere blir behov for en variabel av typen `Months`, er det bare de definerte konstantene som er tillatt. Slik skriver du koden:

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

For å deklarere en variabel av typen `Months`, tilordne den en verdi og bruk Java-kommandoen `System.out.println` for å vise den. Dette ser slik ut i koden:

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

## Hvordan bruke Java-enumerasjoner i en klasse

Du kan også bruke Java-enumerasjoner innenfor en klasse. For eksemplet ovenfor vil det se slik ut:

```java
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);
		}
}
```

## Hvordan bruke `values()` -metoden til å spørre om alle konstanter

Hvis du vil vise alle tilgjengelige verdier, kan du bruke metoden `values()`. Dette viser konstanter i form av en matrise. Slik gjør du det med eksemplet ovenfor:

```java
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);
		}
	}
}
```

## Hvordan bruke Java-enumerasjoner med `switch()`

Du kan også kombinere Java-enumerasjoner med andre metoder. Slik ser det ut når det kombineres med `switch()`:

```java
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.
		}
	}
}
```


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/java-enumerasjoner/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/java-enumerasjoner/) for AI/LLM consumption.