Мне сложно сформулировать точный вопрос, поэтому я просто приведу пример.
У меня два типа Enum
:
enum Shape {
CAT, DOG;
}
enum Color {
BLUE, RED;
}
У меня есть метод:
public Object getInstance(String value, Class<?> type);
Я хотел бы использовать такой метод:
// someValue is probably "RED", and someEnumClass is probably Color.class
Color c = getInstance(someValue, someEnumClass);
У меня возникли проблемы с определением, как именно реализовать getInstance ()
. Как только вы знаете точный класс Enum
, который хотите создать, это просто:
Color.valueOf("RED");
Но как можно выполнить эту строку выше с неизвестным Class
? (Однако известно, что someEnumClass
является подклассом Enum
.)
Спасибо!