【发布时间】:2020-03-27 21:50:07
【问题描述】:
我想将枚举常量用于 switch-case-statements。
我正在使用以下枚举/类:
public enum Cons {
ONE(1),
TWO(2);
private final int val;
private Cons(final int newVal) {
val = newVal;
}
public int getVal() {
return val;
}
}
public class Main {
public static void main(String[] args) {
int test;
// some code
switch(test) {
case Cons.ONE.getVal():
// ...
break;
case Cons.TWO.getVal():
// ...
break;
default:
// ...
}
}
}
问题:
“case 表达式必须是常量表达式” => 我的枚举值不是常量,尽管属性 private final int val 被声明为 final。
如何将此枚举用于案例陈述?
【问题讨论】:
标签: java enums switch-statement case-statement