假设我们有一个Class
对象。将其命名为cls
。
现在cls.isEnum()
会返回true
多么快乐!我可以把价值列在我面前吗? (一个糖,没有牛奶)
答案 0 :(得分:8)
getEnumConstants()Class对象的方法返回一个Objects
数组public static enum E {
A, B, C, D;
}
public static void main(String[] args) {
Class c = E.class;
for(Object b:c.getEnumConstants())
{
System.out.println(b);
}
}
打印:
一个
乙
ç
d
答案 1 :(得分:4)
您可以使用EnumSet.allOf(Class<E>)
,其中<E extends Enum<E>>
假设:
public static enum Alphabet {
A, B, C, D;
}
你可以写:
for (Enum<?> e : EnumSet.allOf(Alphabet.class)) {
System.out.println(e);
}
// A, B, C, D
答案 2 :(得分:2)
以下主要内容:
公共类GetEnumFields {
public static enum Enum {
A, B, C, D;
}
public static void main(String[] args) {
Enum a = Enum.A;
Field[] declaredFields = a.getClass().getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
System.out.println(declaredFields[i]);
}
}
}
打印:
public static final GetEnumFields$Enum GetEnumFields$Enum.A
public static final GetEnumFields$Enum GetEnumFields$Enum.B
public static final GetEnumFields$Enum GetEnumFields$Enum.C
public static final GetEnumFields$Enum GetEnumFields$Enum.D
private static final GetEnumFields$Enum[] GetEnumFields$Enum.ENUM$VALUES