Найти тему
Маленький человек

Java Enum

Оглавление

Enum - constanta, сокращенное от enumeration (перечисление).

Теория

!!! Название Enum задается в единственном числе.
Нельзя назвать "Дрова", можно назвать только "Полено"

Создаем новый класс Enum, как в примере №1.
Обращаем внимание, на порядок цветов т.к. к ним кто-то может обращаться по индексу, потом будете бегать по всей программе в поиске ссылок.

Каждый Enum это объект, который может обладать своими свойствами.

Пример №1
public enum
CollorCat {
WHITE, // индекс = 0
BLACK, // индекс = 1
RED, // индекс = 2
GRAU // индекс = 3

}

Понятое дело, что просто обратиться к константе (Enum) никакой практической пользы не несет, поэтому требуется иметь расшифровку константы, которую можно засунуть прям в Enum, как в примере №2.

Пример №1.1
public enum
CollorCat {
WHITE("Белый"), // индекс = 0
BLACK("Черный"), // индекс = 1
RED("Рыжий"), // индекс = 2
GRAU("Серый"); // индекс = 3
private String translation;
CollorCat(String translation) { this.translation = translation; }
public String getTranslation()
{ return translation; }
}

Практика

Задаем переменные.

Пример №2
private String color; // цвет в тексте
private CollorCat colorEnum; // цвет в Enum

Получаем случайное число в заданном диапазоне.

Пример №3
public static int
getRandomInteger(int min, int max) {
int
x = (int) (Math.random() * ((max - min) + 1)) + min;
return x;

Создаем set запрос.

Пример №4
public void
setColor(){
numerCollor =
getRandomInteger(0, 3); // max зависит от Enum.
CollorCat collorCat = CollorCat.
values()[numerCollor];
colorEnum = CollorCat.
values()[numerCollor];
color = collorCat.getTranslation();
// эта строка вычисляема и по этому не обязательна
}

Создаем get запросы (один на Enum, второй для расшифровки)

Пример №5
public
String getColor() {
CollorCat collorCat = colorEnum;
color = collorCat.getTranslation();
return color;
}
public CollorCat getColorEnum() {
return colorEnum;
}

Создаем set запрос.
Насильственный способ задать цвет

Пример №6
public void setColorEnum(CollorCat col) {
colorEnum = col;
}
Применение:
cat.setColorEnum(CollorCat.WHITE)
Здесь после точки CollorCat выбираем цвет вручную.

Используемые материалы.

Читайте и другие статьи см. оглавление.