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;
}
参见http://docs.oracle.com/javase/tutorial/reflect/special/enummembers.html
给定枚举类的完全限定名,可以通过
Class.getEnumConstants()
假设您正在传递field变量中的field的类,您可以如下所示
else if (Enum.class.isAssignableFrom( field ))
{
Object[] possibleValues=field.getEnumConstants();
//...
}
问题内容: 我有一个这样声明的枚举: 现在,我想通过反射找出该枚举的键(SystemRunning,SystemStopped,tmpIdle): 输出为:RUNNING STOPPED IDLE 但是,我想使用Strings SystemRunning,tmpIdle等。 提前非常感谢您。 问题答案: 首先,您需要使您的非静态变量。 然后,您需要在枚举中添加getter方法,该方法将返回 然后将
我使用Enum4库创建enum类,如下所示: 我想在某处打印作为列表。如何实现这一点?
问题内容: 我已经编写了一个枚举类,我想按类型获取属性或按属性获取类型,但这似乎是不可能的。 上面的代码将无法编译。如何上班? 问题答案: 您需要做的就是添加一个默认情况,以便该方法始终返回某些内容或引发异常: 也许更好
问题内容: 具有内部字段的枚举,有点像地图。 现在,我需要按其内部字段枚举。 写下: 但是,每次需要查找适当的实例时,对所有枚举进行查找并不是非常有效。 还有其他方法可以做到吗? 问题答案: 您可以将a 与初始化程序一起使用,该初始化程序将使用由其字段键入的值来填充它。 请注意,已完成,也已完成。 您现在可以期望是一个操作。 参考文献 JLS 8.7静态初始值设定项 JLS 8.9枚举 注意 该方
问题内容: 假设是,我将如何产生给定序数的枚举值? 问题答案: 足够了。一条线; 足够简单。
问题内容: 我遇到了这个问题,我不知道需要迭代其实际值的实际类型。 任何想法如何从enumValue中提取其可能的值? 问题答案: