[問題] 如何讓enum成為另一個enum的建構參數?

看板java作者 (全新開始)時間14年前 (2011/10/11 02:21), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/3 (看更多)
大家好 我想請問的是有關 enum class 的問題 現在我有兩個 enum class, 各自實作相同的介面, 類似這樣 public enum E1 implements XXInterface { Element1("str1", 0), Element2("str2", 1); private E1(String str, int num){ //略 } ....// 實作 XXInterface 的 getter setter 略 } public enum E2 implements XXInterface { Element1("str1", 0), Element2("str2", 1), Element3("str3", 2), Element4("str4", 3); private E2(String str, int num){ //略 } ....// 實作 XXInterface 的 getter setter 略 } 我希望可以讓這兩個 enum, 分別塞到另外一個 enum E3 元素宣告的建構式中 好讓 E3 宣告的元素之 getter 可以取出代表那個元素的 enum, 也就是取出 E1 或 E2 其中一個..... 直覺上會想,反正 E1 E2 的元素都有實作相同的界面,型態相同 那麼當成建構式的參數應該不成問題 可是無論怎麼試都無法編譯,兩個 enum class 好像只能實作相同的界面 不能繼承任何抽象或實際類別 請問 E3 究竟要怎麼寫,才能令程式取出代表 E3 內宣告的元素的 enum 呢? 謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.35.68

10/11 08:04, , 1F
enum會被自動宣告為static final
10/11 08:04, 1F
文章代碼(AID): #1EapUPgS (java)
文章代碼(AID): #1EapUPgS (java)