次のように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