汎用Javaクラス内から任意の列挙型のプロパティにアクセスしようとしています。特に、列挙型の値の数と実際の値自体にアクセスしたいと思います。
この(明らかにばかげた)ダミーコードは、その意図を示しています。
public class Test <E extends Enum>{
public enum TestEnum {
FIRST, SECOND, THIRD
}
public Test() {
System.out.println(E.values().length); //error - won't compile
}
public static void main(String[] args) {
Test<TestEnum> t = new Test<TestEnum>();
}
}
StackOverflowには同様の問題に対する解決策がいくつかありますが、列挙型を変更する必要があります。ここで重要なのは、コードが任意の列挙型に対して機能することです。
これはJavaでも可能ですか?
アドバイスをよろしくお願いします。
〜クリス