Я столкнулся с этой проблемой что я, не зная фактическое enum
введите я должен выполнить итерации его возможных значений.
if (value instanceof Enum){
Enum enumValue = (Enum)value;
}
Какие-либо идеи, как извлечь из enumValue его возможные значения?
Object[] possibleValues = enumValue.getDeclaringClass().getEnumConstants();
Enum
такие же, как Class
es в том, что они типизированы. Ваш текущий код просто проверяет, является ли это Enum, без указания типа Enum, частью которого он является.
Поскольку вы не указали тип перечисления, вам придется использовать отражение, чтобы узнать, каков список значений перечисления.
Вы можете сделать это так:
enumValue.getDeclaringClass().getEnumConstants()
Это вернет массив объектов Enum, каждый из которых является одной из доступных опций.