在.net中,可以随意指定枚举的整型数值,并且可以将整型数值强制转换为枚举。但在Java中,需要额外编码,才能满足这样的需求。
public enum SessionMode {
Elimination(2),
PaperQuiz(5),
Homework(6),
Normal(7);
private int value = 7;
private SessionMode(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public static SessionMode valueOf(int value) {
switch (value) {
case 2:
return Elimination;
case 5:
return PaperQuiz;
case 6:
return Homework;
case 7:
return Normal;
default:
return null;
}
}
}