Non si può avere tutto ciò che chiedete. Ecco un modo di ottenere alcuni di essi:
enum MainGroup { GROUP_MAIN1, GROUP_MAIN2 };
enum Subgroup {
SUBGROUP1(MainGroup.GROUP_MAIN1), SUBGROUP2(MainGroup.GROUP_MAIN1),
SUBGROUP3(MainGroup.GROUP_MAIN2), SUBGROUP4(MainGroup.GROUP_MAIN2);
MainGroup main;
private Subgroup(MainGroup main) {
this.main = main;
}
public MainGroup getMainGroup() {
return main;
}
}
enum Col {
COL1(Subgroup.SUBGROUP1), COL2(Subgroup.SUBGROUP1), COL3(Subgroup.SUBGROUP2), COL4(Subgroup.SUBGROUP2),
COL5(Subgroup.SUBGROUP3), COL6(Subgroup.SUBGROUP3), COL7(Subgroup.SUBGROUP4), COL8(Subgroup.SUBGROUP4);
Subgroup sub;
private Col(Subgroup sub) {
this.sub = sub;
}
public MainGroup getMainGroup() {
return sub.getMainGroup();
}
public Subgroup getSubgroup() {
return sub;
}
}
È anche possibile implementare un metodo in MainGroup
per trovare tutti i sottogruppi sotto quel gruppo principale, e lo stesso per sottogruppi e colonne.
fonte
2016-07-15 10:49:54
Possibile duplicato di [Estensione di enum in Java] (http://stackoverflow.com/questions/6511453/extending-a-enum-in-java) – Silverclaw
Non sono sicuro al 100% cosa intendi annidando un enum, ma anche se fosse possibile, non dovresti farlo. – Silverclaw
@ Silverclaw perché no? –