从类中获取枚举值

2022-09-04 00:42:52

是否可以从类中获取枚举值?让我稍微详细阐述一下。如果我有一个枚举,例如FooBar,那么我可以通过调用FooBar.values()来获取FooBar的值,这将返回一个带有枚举的数组(FooBar[])。我的问题是,我有一个方法,它把一个类(类c)作为输入参数,在方法中我检查它是否是枚举(c.isEnum())。如果它是枚举,我需要以某种方式获得枚举值,问题是我不知道该怎么做,我甚至不完全确定这是可能的。那么,这是否可能,如果是,我该如何做到这一点?(请注意,解决方案必须是通用的,换句话说,不是if-else的)。


答案 1

嗯......你看过 API 文档吗?

Class.getEnumConstants()


答案 2

编辑:您可以使用 c.getClass().getEnumConstants() 来获取常量的值

(它说的是“名称”而不是“值”,并添加了一些不必要的东西)