如何在Java中获取所有枚举值?

2022-08-31 08:52:06

我遇到了这个问题,我不知道迭代其可能值所需的实际类型。enum

if (value instanceof Enum){
   Enum enumValue = (Enum)value;
}

任何想法如何从枚举中提取其可能的值?


答案 1

调用 Class#getEnumConstants 以获取枚举的元素(如果不是枚举类,则获取 null)。

Object[] possibleValues = enumValue.getDeclaringClass().getEnumConstants();

答案 2
YourEnumClass[] yourEnums = YourEnumClass.class.getEnumConstants();

YourEnumClass[] yourEnums = YourEnumClass.values();