Получение всех значений enum в Java
Компилятор для каждого enum создаёт статический
метод values(). Он возвращает массив всех констант
в порядке объявления - по нему удобно строить меню и
проверять допустимые значения:
enum PostStatus { DRAFT, PUBLISHED, ARCHIVED }
Обойдем все константы перечисления и выведем имя каждой:
for (PostStatus status : PostStatus.values()) {
System.out.println(status.name());
}
Длина массива совпадает с числом констант. Обращение
по индексу даёт константу с тем же ordinal():
PostStatus[] all = PostStatus.values();
System.out.println(all.length);
System.out.println(all[1]);
В цикле по values() можно читать поля и методы
каждой константы:
public class Main {
public static void main(String[] args) {
for (PostStatus status : PostStatus.values()) {
System.out.println(status.getTag());
}
}
}
Объявите enum Role с константами
GUEST, USER и ADMIN.
Выведите все значения name() в порядке
values() в одной строке, между словами
один пробел.
Объявите enum EmployeeType с константами
INTERN, STAFF и LEAD.
Выведите число элементов массива values().