我很难用言语准确表达问题,所以我将只给一个示例。
我有两个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
的子类。)
谢谢!