[英]Enum containing Enum Java (enumCeption)
如何在枚舉構造函數中傳遞枚舉? 這是我到目前為止嘗試過的。
這是為了確保我不會混淆頁面及其各自的部分。 我希望能夠執行“ SectionsEnum section = PAGE2.sectionsEnum.SECTION_D;” 我代碼中的其他地方。
PagesEnum.class
public enum PagesEnum {
PAGE1(Page1Sections.class), // incompatible types, required SectionsEnum found Page1Sections
PAGE2(Page2Sections.class);
Class<? extends SectionsEnum> sectionsEnum;
PagesEnum(final Class<? extends SectionsEnum> sectionsEnum) {
this.sectionsEnum = sectionsEnum;
}
}
Page1Sections.enum
public enum Page1Sections implements SectionsEnum {
SECTION_A,
SECTION_B;
}
Page2Sections.enum
public enum Page2Sections implements SectionsEnum {
SECTION_C,
SECTION_D;
}
主類
public class Main {
public void example() {
SectionsEnum section = PAGE2.sectionsEnum.SECTION_D;
}
}
您永遠都無法獲得PAGE2.SECTION_D,但是您可以通過SECTION_D.getPage()來進行其他關聯:
public enum SectionsEnum {
SECTION_A(PagesEnum.PAGE1),
SECTION_B(PagesEnum.PAGE1),
SECTION_C(PagesEnum.PAGE2),
SECTION_D(PagesEnum.PAGE2),
;
PagesEnum(PagesEnum page) {...}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.