JavaSwitch语句:常量表达式是必需的,但它是常量所以,我正在研究这个类,它有几个静态常量:public abstract class Foo {
...
public static final int BAR;
public static final int BAZ;
public static final int BAM;
...}然后,我想要一种基于常量获得相关字符串的方法:public static String lookup(int constant) {
switch (constant) {
case Foo.BAR: return "bar";
case Foo.BAZ: return "baz";
case Foo.BAM: return "bam";
default: return "unknown";
}}但是,当我编译时,我会得到一个constant expression required三个大小写标签上的每个错误。我知道编译器需要在编译时知道表达式才能编译一个开关,但为什么不知道呢?Foo.BA_常量?
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
public abstract class Foo { ... public static final int BAR=0; public static final int BAZ=1; public static final int BAM=2; ...}
添加回答
举报
0/150
提交
取消