# Kako uporabiti Java enums za ustvarjanje konstant v svojem kodu

Z Java enums lahko ustvarite spremenljivke s fiksnimi vrednostmi. Te so zapisane z velikimi črkami in jih ni mogoče spremeniti. Uporabljajo se za izboljšanje logike in berljivosti vašega kode in vam lahko pomagajo ustvariti čisto kodo.

## Kaj so Java enumi?

V Javi se izraz »enums« nanaša na posebno [vrsto podatkov](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/tipi-podatkov-v-javi/), ki se lahko uporablja v konvencionalnih razredih, vendar se od njih razlikuje v enem ključnem vidiku. Enum je vrsta spremenljivke, ki ima **posebej opredeljene, fiksne in zato omejene možnosti vrednosti**. Java enums so konstante, ki preprečujejo uporabo neželenih vrednosti v kodi. To zagotavlja logično strukturo kode in povečuje berljivost. Izraz »enum« izhaja iz besede »enumeration« (številčenje).

## Kakšna je sintaksa za Java enums?

Sintaksa za Java enums je vedno enako strukturirana in izgleda takole:

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

Če torej želite definirati razred enum, začnite s ključno besedo `enum`, ki jo uporabite namesto `class` ali `interface`. Nato poimenujte posebni razred in v oklepajih navedite želene dovoljene konstante. Konstante so **vedno zapisane z velikimi črkami** in ločene med seboj z vejicami.

## Kako ustvariti razred z enumom

Eden od načinov uporabe Java enumov je ustvarjanje seznama, ki vsebuje mesece v letu. Takšen seznam bi vseboval le dvanajst možnih vrednosti. Če je kasneje potrebna spremenljivka tipa `Months`, so dovoljene le definirane konstante. Tako napišete kodo:

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

Da bi deklarirali spremenljivko tipa `Months`, ji dodelite vrednost in jo prikažite z uporabo Java ukaza `System.out.println`. V kodi to izgleda takole:

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

## Kako uporabljati Java enums znotraj razreda

Java enums lahko uporabljate tudi znotraj razreda. V zgornjem primeru bi to izgledalo takole:

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

## Kako uporabiti metodo `values()` za poizvedovanje vseh konstant

Če želite prikazati vse razpoložljive vrednosti, lahko uporabite metodo `values()`. Ta izpiše konstante v obliki matrike. Tako to storite v zgornjem primeru:

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

## Kako uporabljati Java enums z `switch()`

Java enume lahko kombinirate tudi z drugimi metodami. Tako izgleda, ko je kombiniran z `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/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/java-enums/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/java-enums/) for AI/LLM consumption.