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