現在、私はと呼ばれるクラスを持っていTestEnum
ます。私のmain
方法では、に属し、属していることを指定する必要なくfirstEnum
、作業できます。コードはこれを整理します。secondEnum
firstEnum
GroupA
secondEnum
GroupB
TestEnum
または のいずれfirstEnum
かsecondEnum
が 3 つの のいずれかに関連付けられているとしますSubGrouping
enum
。メソッド内からこの関連付けを作成できるようにしたいと考えていますmain
。from within に割り当てられているGrouping
ため、と同じアプローチを使用できないことは明らかです。GroupA
firstEnum
TestEnum
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:
// ...
}