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

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

if (test.MyEnum.class instanceof Enum<?>.class)

obj = resultWrapper.getEnum(i, test.MyEnum.class);

else

obj = resultWrapper.getObject(i);

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

谢谢

回答:

正确的语法为:

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

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

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


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

if (someObject instanceof Enum<?>)

  • Class.isEnum()

以上是 检查一个类是否是java.lang.Enum 的全部内容, 来源链接: utcz.com/qa/415359.html

回到顶部