Действительно, метод должен принимать type choice
, а не int choice
, в качестве аргумента.(И, действительно, Type
должен быть написан заглавными буквами и иметь лучшее имя.)
Вы спрашиваете, как перейти от порядкового целочисленного значения к значению enum?Это не очень хорошая идея, но если нужно, вы можете преобразовать это следующим образом:
type valueOf(int ordinal) {
for (type t : type.values()) {
if (t.ordinal() == ordinal) {
return t;
}
}
throw new IllegalArgumentException();
}
... но опять же, это исправляет плохой дизайн.Измените этот метод.