我正在通过反思分析一个班级的某些领域。如果字段的类型是枚举类型,我想要检索此枚举的所有值。
private MappedType mapType( final Class<?> c ) {
...
else if (Enum.class.isAssignableFrom( field ))
{
//This code is not valid
final Enum<?> e = (Enum<?>) c;
Object[] possibleValues=e.values();
...
return MappedType.ENUM;
}
如何检索所有可能枚举值的列表? (值的字符串名称就足够了)
答案 0 :(得分:0)
请参阅http://docs.oracle.com/javase/tutorial/reflect/special/enumMembers.html
给定Enum类的完全限定名称,您可以通过
找到其中的常量Class.getEnumConstants()
假设您在字段变量中传递字段的类,您可以尝试如下
else if (Enum.class.isAssignableFrom( field ))
{
Object[] possibleValues=field.getEnumConstants();
//...
}