だから、私はいくつかの静的定数を持つこのクラスに取り組んでいます:
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全体に散らばっているので、それが私が行ったことです。