# 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ą](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/java-duomenu-tipai/), 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:

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

Taigi, 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ą:

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

Norėdami deklaruoti `Months` tipo kintamąjį, priskirkite jam vertę ir naudokite Java komandą `System.out.println`, kad jį parodytumėte. Kodas atrodo taip:

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

## Kaip naudoti Java enums klasėje

Java enums taip pat galima naudoti klasėje. Pateiktame pavyzdyje tai atrodytų taip:

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

## Kaip 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:

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

## Kaip naudoti Java enums su `switch()`

Java enums taip pat galima derinti su kitais metodais. Štai kaip tai atrodo, kai derinama su `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/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/java-enums/](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/java-enums/) for AI/LLM consumption.