我有一个enum叫Example"如下"的"班级" :
enum Example {
//enums belonging to group A:
enumA1,
enumA2,
enumA3,
//enums belonging to group B:
enumB1,
enumB2,
enumB3,
//enums belonging to group C:
enumC1,
enumC2,
enumC3;
}
Run Code Online (Sandbox Code Playgroud)
对我的项目来说,重要的是他们所使用的所有枚举都属于Example(因为这是类的构造函数中的参数).
如何使用enum层次结构/嵌套来实现以下目标:
测试是否属于enumA,B或C组的方法.例如,类似于Example.enumA1.isGroupBelonging(Group.A)或isGroupBelonging(Example.enumA1,Group.A)将是返回true的公共方法.
能够对组的子组做同样的事情A,B并且C.例如,组A可能有子组a,b和c.然后我想要一个方法,做一些像Example.enumA1.isSubGroupBelonging(SubGroup.a)这样的东西public boolean.
一种方法来完成所有这些,而不需要一些精心设计的enum名称堵塞我的代码.例如,能够Example.enumA1在我的其他类中引用而不需要使用类似Example.enumA1(Group.A,SubGroup.a)或类似的东西来引用它将是很好的Example.enumA1.Group.A.SubGroup.a
采用具有1300个值并将其放入有组织组的Java枚举的建议做法是什么?我知道你不能只扩展枚举组,那么还有其他好的选择吗?