目前我有一堂课叫TestEnum. 在我的main方法中,我可以使用firstEnum也不secondEnum需要指定firstEnum属于GroupA和secondEnum属于的内容GroupB- 中的代码TestEnum对此进行了排序。
假设其中一个firstEnum或secondEnum可能与三个 中的任何一个相关联SubGrouping enum。我希望能够从我的main方法中建立这种关联。很明显,我不能使用与 with 相同的方法,Grouping因为GroupAis assigned to firstEnumfrom within 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:
// ...
}