我知道我可以通过以下方式获取类的公共静态成员:
obj.getClass().getFields()
但这并没有让我得到枚举。我希望能够从getClass方法返回的Class对象中获取它们。有什么想法吗?
答案 0 :(得分:6)
(转变为社区维基,因为它看起来有相当大的扩展范围,例如包含了攻击线的评论。我没有意义只是在每个人都可以扩展它时转录评论。)
你的意思是嵌入在顶级类中的枚举吗?如果是这样,请使用Class.getDeclaredClasses()
并迭代结果,看看是否有任何嵌套类是枚举。测试每个嵌套类的最简单方法是使用Class.isEnum()
;如果你想遍历枚举中的值,那么Class.getEnumConstants()
就是你要走的路。
答案 1 :(得分:1)
obj.getClass()。getEnumConstants()