Поля enum в Java
В теле enum можно объявлять поля - обычно
private final, чтобы у каждой константы
хранились свои неизменяемые данные. Значения полям
задают при объявлении констант в круглых скобках:
enum PostStatus {
DRAFT(0),
PUBLISHED(1),
ARCHIVED(2);
private final int code;
PostStatus(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
Возьмем константу PUBLISHED и выведем ее числовой код:
System.out.println(PostStatus.PUBLISHED.getCode());
Поля перечисления доступны через методы, как у обычного класса. У разных констант одно и то же поле может хранить разные значения:
System.out.println(PostStatus.ARCHIVED.getTag());
Порядок объявления констант совпадает с порядком в
values() и с полем ordinal():
System.out.println(PostStatus.PUBLISHED.getSortOrder());
System.out.println(PostStatus.PUBLISHED.ordinal());
Объявите enum Role с полем level:
GUEST - 0, USER - 1,
ADMIN - 2.
Выведите уровень для Role.ADMIN.
Объявите enum Role с полем label:
GUEST - "guest",
USER - "user",
ADMIN - "admin".
Дана переменная:
Role role = Role.USER;
Выведите значение label для этой константы.