Введение в Java Урок 37. Перечисления (enum)
Перечисление - это определенный программистом тип данных, значения которого ограничиваются некоторым набором. Этот набор может содержать, например, названия дней недели. Или состояние некоторого объекта (включен, выключен). Или тип доступа к файлу (только для чтения, полный доступ или отсутствие доступа, например).
Вот пример объявления перечисления:
public enum MyColors {
Red,
Yellow,
Pink;
}
А вот так его можно использовать:
public class MainClass {
public static void main(String[] args) {
// Объявление перечисления.
MyColors color = MyColors.Yellow;
// Вывод перечисления на экран.
System.out.println(color.toString());
// Использование перечисления в switch
switch(color){
case Pink:
System.out.println("Выбран розовый");
break;
case Red:
System.out.println("Выбран красый");
break;
case Yellow:
System.out.println("Выбран желтый");
break;
}
// Получение номера элемента перечисления.
int n = color.ordinal();
System.out.println(n);
// Получение элемента перечисления по имени.
color = MyColors.valueOf("Red");
System.out.println(color.toString());
// Получение всех значений перечисления
MyColors[] values = MyColors.values();
for(int i = 0; i < values.length; i++){
System.out.println(values[i]);
}
}
}
Обратите внимание, что для инициализации переменной перечисляемого типа мы используем синтаксис типа MyColors.Yellow (имя перечисления, имя значения перечисления), а в конструкции switch мы используем только имя значения перечисления (например, Red).
Также обратите внимание на ряд полезных методов: values - позволяет получить все элементы перечисления (статический), valueOf - возвращающий элемент перечисления по строке (статический), ordinal - позвоялет получить номер в перечислении определенного значения.
|