Как бы я составил список перечислений? - PullRequest
1 голос
/ 11 апреля 2019

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

public enum Days {
SUNDAY,MONDAY,TUESDAY,WENESDAY,THURSDAY,FRIDAY,SATURDAY;
}

public enum Weather {
CLOUDY, CLEARSKIES, SUNNY, RAIN, SNOW;
}

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Вы можете обернуть их:

class EnumWrapper {
    final Enum<?> val;
    final boolean isWeather;

    EnumWrapper(Days d) {
        val = d;
    }

    EnumWrapper(Weather w) {
        val = w;
        isWeather = true;
    }

    Days getDay() {
        if(!isWeather) return (Days) val;
        return null;
    }

    Weather getWeather() {
        if(isWeather) return (Weather) val;
        return null;
    }
}
0 голосов
/ 11 апреля 2019

Вы можете рассмотреть интерфейс и заставить их обоих реализовать этот интерфейс.Затем вы можете сохранить список объектов, которые реализуют этот интерфейс.

interface Parent {

}

public enum Days implements Parent {
    SUNDAY,MONDAY,TUESDAY,WENESDAY,THURSDAY,FRIDAY,SATURDAY;
}

public enum Weather implements Parent {
    CLOUDY, CLEARSKIES, SUNNY, RAIN, SNOW;
}

Пример использования:

Parent[] list = new Parent[2];
list[0] = Days.FRIDAY;
list[1] = Weather.SNOW;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...