Ich habe eine enum
‚Klasse‘ Example
wie folgt aufgerufen:Wie Enum mit der Gruppierung verwenden und Untergruppierung Hierarchie/Verschachtelung
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;
}
Es ist wichtig für mein Projekt, das sie alle Aufzählungen, mit dem ich Example
gehören arbeiten (da dies ist ein Argument in einem Konstruktor einer Klasse).
Wie verwende ich enum
Hierarchie/verschachteln, um folgendes zu erreichen:
Eine Methode, ob ein
enum
A, B oder C ist die Gruppe, beispielsweise so etwas wieExample.enumA1.isGroupBelonging(Group.A)
oderisGroupBelonging(Example.enumA1,Group.A)
testet wäre eine öffentliche Methode, die wahr zurückgibt.Das Gleiche können Sie mit Untergruppen der Gruppe
A
,B
undC
erreichen. Zum Beispiel könnte Gruppe A die Untergruppena
,b
undc
haben. Ich möchte dann eine Methode, die etwas wieExample.enumA1.isSubGroupBelonging(SubGroup.a)
, die einepublic boolean
ist.Ein Weg, all dies zu tun, ohne dass einige aufwendige
enum
Namen, die meinen Code verstopft haben müssen. Zum Beispiel wäre es schön, nur in der Lage sein zuExample.enumA1
während meiner anderen Klassen zu verweisen, ohne Bezug zu nehmen, um es so etwas wieExample.enumA1(Group.A,SubGroup.a)
oderExample.enumA1.Group.A.SubGroup.a
Ausgezeichnete Lösung! Ich würde auch 'getGroup()' Methode hinzufügen, um die aktuelle Gruppe zu erhalten. – Shahar
Sehr elegante Lösung :-) Danke! – Gilbou