从Class获取枚举值

时间:2009-06-09 06:21:31

标签: java enums

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

2 个答案:

答案 0 :(得分:24)

嗯......你看过API doc吗?

Class.getEnumConstants()

答案 1 :(得分:0)

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

(它说'名字'而不是'价值'并添加了一些不必要的东西)