【发布时间】:2011-10-09 18:43:43
【问题描述】:
我发现很难用语言表达确切的问题,所以我只举一个例子。
我有两种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 的子类。)
谢谢!
【问题讨论】:
标签: java class reflection enums instantiation