現在、私はと呼ばれるクラスを持っていTestEnumます。私のmain方法では、に属し、属していることを指定する必要なくfirstEnum、作業できます。コードはこれを整理します。secondEnumfirstEnumGroupAsecondEnumGroupBTestEnum
または のいずれfirstEnumかsecondEnumが 3 つの のいずれかに関連付けられているとしますSubGrouping enum。メソッド内からこの関連付けを作成できるようにしたいと考えていますmain。from within に割り当てられているGroupingため、と同じアプローチを使用できないことは明らかです。GroupAfirstEnumTestEnum
public enum TestEnum {
firstEnum (Grouping.GroupA),
secondEnum (Grouping.GroupB);
private Grouping group;
TestEnum(Grouping group) {
this.group = group;
}
public enum Grouping {
GroupA, GroupB;
}
public enum SubGrouping {
SubGroup1, SubGroup2, SubGroup3;
}
}
どうすればいいですか?より具体的には、次のようなオブジェクトを構築するとよいでしょう。
TestEnum enumWithinMainMethod = TestEnum.firstEnum(SubGrouping.SubGroup1)
このインスタンスの望ましい動作は、 と の両方に属することSubGroup1ですGroupA。次に、そのようなインスタンスから、次のような機能があればよいでしょう。
switch(enumWithinMainMethod) {
case firstEnum:
// Do something associated with firstEnum
case secondEnum:
// Do something associated with secondEnum
default:
// ...
}