Раньше мои перечисления LegNo определялись просто как:
NO_LEG, LEG_ONE, LEG_TWO
и позвонив return LegNo.values()[i];
, я смог получить значение, связанное с каждым перечислением.
Но теперь я решил, что хочу, чтобы LegNo
перечисление NO_LEG
было int -1 вместо 0, поэтому я решил использовать частный конструктор для инициализации и установки его значения int.
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
единственное, что сейчас это то, что, поскольку я делаю это таким образом, values()
метод не будет работать для NO_LEG
перечисления. Как мне получить перечисление, связанное с int? Есть ли какой-либо эффективный способ сделать это, кроме использования оператора case switch или if-elseif-elseif
Я вижу много SO-вопросов, связанных с получением значения int из перечисления, но я ищу обратное.