Как выбрать перечисления на основе ввода - PullRequest
0 голосов
/ 26 июня 2018

Я создаю различные перечисления, и я хочу использовать их на основе входного значения.Например, если входное значение равно 1, тогда я буду использовать первое перечисление и второе перечисление, если введено значение 2. Код выглядит так:

for (ENUM_ONE enumOne: ENUM_ONE.values()) {
    ENUM_ONE Obj = ((ENUM_ONE) enumOne);
    System.out.println(Obj.getName());
}

Могу ли я определить переменную для представленияразные перечисления?Это как

if(input == 1){
    enum = ENUM_ONE;
}else{
    enum = ENUM_TWO;
}

for (enum enumOne: enum .values()) {
        enum Obj = ((enum) enumOne);
        System.out.println(Obj.getName());
    }

Есть ли какой-нибудь способ изменить ENUM_ONE на ENUM_TWO, чтобы не нужно было писать подобное for() каждый раз.

Спасибозаранее.

1 Ответ

0 голосов
/ 26 июня 2018

Добавьте параметр в перечисление, представляющий что-либо (например, целое число).Затем выполните итерацию значений перечисления и найдите значение, которое действительно содержит это значение.

В качестве альтернативы вы можете создать карту для быстрого поиска по перечислению.

Проверьте следующую ссылку, чтобы узнать больше: https://www.google.pl/amp/s/www.geeksforgeeks.org/enum-customized-value-java/amp/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...