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