簡體   English   中英

包含Enum Java的枚舉(enumCeption)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM