public enum TagEnum {
MALE,FEMALE,//GENDER
YOUNG,MIDDLE_AGED,OLD//AGE
}
TagEnum を使用して Person を記述したいと考えています。MALE と FEMALE は相互に排他的であり、年齢の列挙も同様です。
たとえば、EnumSet に MALE を入れると、FEMALE は受け入れられなくなります。
そのような EnumSet はありますか?
==更新==
性別と年齢の両方が人を表すために使用されることに注意してください。次元が 5 つを超えるとどうなりますか? 5 つの列挙型と 5 つの個別の参照を作成するには?
誰かがそのような列挙型を所有しているかどうかを知るためにテスト メソッドが必要なので、次のように 5 つのオーバーロードされたメソッドを作成するのは冗長です。
boolean test(Age age);
boolean test(Gender gender);
boolean test(OtherDimension other);
//What a pity Enum can't be inherited
簡単にする方法はありますか?ありがとう!