次のようにenum
呼び出される「クラス」が1つあります。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
以下を達成するために階層/ネストを使用するにはどうすればよいですか。
がグループ A、B、または C のどれであるかをテストするメソッド
enum
。たとえば、Example.enumA1.isGroupBelonging(Group.A)
またはのようなものisGroupBelonging(Example.enumA1,Group.A)
は、true を返すパブリック メソッドになります。A
グループ、 、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