因此,我正在研究具有一些静态常量的此类:
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
在3个大小写标签的每一个上都出现错误。
我知道编译器需要在编译时就知道表达式才能编译开关,但是为什么不是Foo.BA_
常量?
public static final int
s分散在整个JDK中,所以这就是我所追求的。