所以,我正在处理这个类,它有几个静态常量:
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";
}
}
但是,当我编译时,我在3个case标签上都得到了一个constant expression required
错误。
我知道编译器需要在编译时知道表达式才能编译开关,但是为什么Foo.BA_
不是常量?
https://stackoverflow.com/questions/3827393
复制相似问题