检查一个类是否是java.lang.Enum

Jose L Martinez-Avial:

我想知道一个类是否为枚举,但是我想我缺少了一些东西:

if (test.MyEnum.class instanceof Enum<?>.class)
 obj = resultWrapper.getEnum(i, test.MyEnum.class);
else 
 obj = resultWrapper.getObject(i);

它给我一个错误,指出Enum.class无效。那么,如何检查类是否为枚举?我很确定有可能确定这一点,但我无法做到。

谢谢

肖恩·帕特里克·弗洛伊德(Sean Patrick Floyd):

正确的语法为:

Enum.class.isAssignableFrom(test.MyEnum.class)

但是对于枚举,这是一种更方便的方法:

if (someObject.getClass().isEnum()))

更新:对于带有主体的枚举项(例如,覆盖方法),这实际上将不起作用。在这种情况下,请使用

if (someObject instanceof Enum<?>)

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

isEnum()不承认java.lang.Enum中

线程“主”中的异常java.lang.NullPointerException如何从另一个类(Java对象和类)检查客户

创建一个抽象的Enum类

为什么java.lang.Enum :: valueOf不首先检查空名称?

请帮我找到一个错误:不是托管类型:类java.lang.Long

为什么java.lang.Throwable是一个类?

Hibernate HQL强制转换:java.lang.String不能强制转换为java.lang.Enum

在java.lang.Enum.values()上重写Javadoc注释

java.lang.NoSuchMethodError,两个类都在同一个JAR中!

如何检查一个类是否为java.lang.Number类型

Android:无法解析java.lang.Enum类型

检查超类是否为java.lang.Object

Xamarin Android将Java.Lang.Enum映射到C#枚举

lang警告“ -Wsigned-enum-bitfield”的含义

如何从值字典构造一个enum.Enum?

从另一个类检索的最终静态LocalDateTime引发java.lang.ExceptionInInitializerError

我如何确定一个Enum值是否是另一个Enum值的继承者?

如何修复NullPointerException“ org.apache.commons.lang3.SystemUtils.JAVA_SPECIFICATION_VERSION_AS_ENUM”为空?

java.lang.ClassNotFoundException:一个

我们如何定义一个扩展java.lang类的Exception类的类

从另一类的成员函数返回ENUM(在一个类中定义)

如何使一个扩展Enum的类的对象

为什么我得到一个Enum值上的java.lang.NoSuchFieldError :?

java x.xml.ws.soap.SOAPFaultException: java.lang.String 不能转换为 java.lang.Enum

为什么抽象类java.lang.Enum中没有定义enum的valueOf(String name)方法?

java.lang.ClassCastException(不能将类转换为同一个类)

检查 Enum 是否等于由 Enum 标志组成的 Enum 值

为什么我不能在 java java.lang.Enum 泛型类型定义中重现?

java.lang.NoClassDefFoundError 使用来自另一个模块的类时