如何找出类定义的枚举?

时间:2008-10-12 21:11:27

标签: java

我知道我可以通过以下方式获取类的公共静态成员:

obj.getClass().getFields()

但这并没有让我得到枚举。我希望能够从getClass方法返回的Class对象中获取它们。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

(转变为社区维基,因为它看起来有相当大的扩展范围,例如包含了攻击线的评论。我没有意义只是在每个人都可以扩展它时转录评论。)

你的意思是嵌入在顶级类中的枚举吗?如果是这样,请使用Class.getDeclaredClasses()并迭代结果,看看是否有任何嵌套类是枚举。测试每个嵌套类的最简单方法是使用Class.isEnum();如果你想遍历枚举中的值,那么Class.getEnumConstants()就是你要走的路。

答案 1 :(得分:1)

obj.getClass()。getEnumConstants()