我有一个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;
}
这对我的项目很重要,我使用的所有枚举都属于Example
(因为这是类的构造函数中的参数)。
如何使用enum
层次结构/嵌套来实现以下目标:
一种测试 an 是否
enum
属于 A、B 或 C 组的方法。例如,类似于Example.enumA1.isGroupBelonging(Group.A)
orisGroupBelonging(Example.enumA1,Group.A)
的方法是返回 true 的公共方法。A
能够对 group和的子组做同样的B
事情C
。例如,组 A 可能有子a
组b
和c
。然后,我想要一种方法来执行诸如Example.enumA1.isSubGroupBelonging(SubGroup.a)
which is a之类的操作public boolean
。一种不需要复杂的
enum
名称来阻塞我的代码的方式来完成这一切。例如,能够Example.enumA1
在我的其他类中引用而不需要使用类似Example.enumA1(Group.A,SubGroup.a)
或Example.enumA1.Group.A.SubGroup.a