case

JNI Java Native Interface プログラミングのサンプルでstructConverterってのがあるんだけど、それがコンパイルできなかった。
原因は以下のようなコード。

public class SwitchTest {
    public static final int HOGE = 0;
    public static void main(String[] args) {
        SwitchTest s = new SwitchTest();
        switch (0) {
        case s.HOGE:
            System.out.println("hoge");
        }
    }
}

static定数をインスタンス変数を介して呼び出している。通りそうなもんなんだけど・・・