是的,您应该能够switch
在 Java 中的语句中使用枚举:
public enum SomeEnum { FOO, BAR, BAZ };
// in a class...
private void something(SomeEnum s) {
switch (s) {
case FOO:
// do something
break;
case BAR:
// do something else
break;
}
}
不确定我是否理解 int 值如何与此相关,但是您可以像在普通 Java 类中一样在枚举上拥有字段/方法,并且可以像在任何其他 POJO 上一样使用它们来保存 int (或任何其他类型)值。
这是一个示例,其中我们为枚举类声明了一个构造函数,以便您可以在构造枚举的每个实例时传入内部变量的值。为了帮助您了解正在发生的事情:首先我们在枚举中声明项目 - 每个声明都会调用构造函数,因此我们可以在此处传递实例变量。然后是 enum 类的代码,就像普通的 Java 类一样。
public enum AnotherEnum {
ONE(1, "un"), TWO(2, "deux"), THREE(3, "trois"), FIFTY_SEVEN(57, "cinquante-sept");
private final int someInt;
private final String french;
private AnotherEnum(int i, String s) {
this.someInt = i;
this.french = s;
}
public int getSomeInt() {
return this.someInt;
}
public String getFrench() {
return this.french;
}
}
例如,System.out.println(AnotherEnum.TWO.getSomeInt())
将 print2
和System.out.println(AnotherEnum.FIFTY_SEVEN.getFrench())
print cinquante-sept
。