私はこれらの2つの列挙型を次のように宣言しています:
public enum EnumOne implements EnumInterface {
SomethingHere,
SomethingThere;
public void someMethod () { }
}
public enum EnumTwo implements EnumInterface {
SomethingOverYonder;
public void someMethod () { }
}
ここに見られるように、どちらもこのインターフェースを実装しています。
public Interface EnumInterface {
someMethod();
}
ここでは、Enum1 または Enum2 からすべての要素を取得する EnumSet を含むクラスを定義しています。これは、パラメーターとしてインデックスを持つメソッドを介して定義されます。このようなもの:
public class SomeClass {
private EnumSet someEnum;
public void setEnumType (int index) {
switch (index) {
case 1:
someEnum = EnumSet.allOf(EnumOne.class);
break;
case 2:
someEnum = EnumTwo.allOf(EnumTwo.class);
break;
}
}
}
さて、どうにかしてこれを達成するためにジェネリックを使用しなければならないことはわかっていますが、それについて十分に精通していないため、正確に行う方法がわかりません。少し教えていただければ幸いです。
ご回答ありがとうございます。