На днях я попытался сделать это, но он не работает:
enum MyEnum {ONE = 1, TWO = 2}
к моему большому удивлению, он не компилируется!!! Как выбрать пользовательские ординалы???
Ответ 1
Вы не можете. Ординалы фиксируются, начиная с 0 и заканчивая. Из документов для ordinal():
Возвращает порядковый номер этой константы перечисления (ее позиция в объявлении перечисления, где исходной константе присваивается порядковый номер нуля).
Вы не можете назначить свои собственные значения. С другой стороны, вы можете иметь свои собственные значения в перечислении:
public enum Foo {
ONE(1), TWO(2);
private final int number;
private Foo(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
}