Answers:
YourEnumClass[] yourEnums = YourEnumClass.class.getEnumConstants();
要么
YourEnumClass[] yourEnums = YourEnumClass.values();
YourEnumClass[] yourEnums = YourEnumClass.class.getEnumConstants();
解决了我从非静态方法调用的问题。
枚举值方法
enum.values()方法,该方法返回所有枚举实例。
public class EnumTest {
private enum Currency {
PENNY("1 rs"), NICKLE("5 rs"), DIME("10 rs"), QUARTER("25 rs");
private String value;
private Currency(String brand) {
this.value = brand;
}
@Override
public String toString() {
return value;
}
}
public static void main(String args[]) {
Currency[] currencies = Currency.values();
// enum name using name method
// enum to String using toString() method
for (Currency currency : currencies) {
System.out.printf("[ Currency : %s,
Value : %s ]%n",currency.name(),currency);
}
}
}
http://javaexplorer03.blogspot.in/2015/10/name-and-values-method-of-enum.html
在这里,Role是一个枚举,其中包含以下值[ADMIN,USER,OTHER]。
List<Role> roleList = Arrays.asList(Role.values());
roleList.forEach(role -> {
System.out.println(role);
});