我有一个名为 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
层次结构/嵌套来实现以下功能:
一个测试
enum
是否属于组A、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
,而不需要使用Example.enumA1(Group.A,SubGroup.a)
或Example.enumA1.Group.A.SubGroup.a
之类的方式。
getGroup()
方法来获取当前组。 - Shahar