そのため、いくつかの静的定数を持つこのクラスに取り組んでいます。
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_
定数ではないのはなぜですか?