Enum 是一个单身人士,你不能只是初始化它。很可能你想要按数字获得枚举值。您可以使用stream执行此操作:
Enum
public static void initFromNumber (int n) MyEnum enumValue = Arrays.stream(MyEnum.values()) .filter(myEnum -> myEnum.get() == n) .findFirst().orElseThrow(); }
通常在我的应用程序中,我将遍历所有值并找到匹配的值。
public static MyEnum getByNumber(int n) { for (final MyEnum value : values()) { if (value.n == n) { return value; } } throw new IllegalArgumentException("No MyEnum found for n: " + n); }