是不是就不可能有一個未定義的類型參數e擴展泛型類型:爲什麼所有的枚舉擴展Enum <e>
class Foo extends enum<E>
他們如何擴大呢?
編輯:也在哪裏的values()方法定義?
在此先感謝
是不是就不可能有一個未定義的類型參數e擴展泛型類型:爲什麼所有的枚舉擴展Enum <e>
class Foo extends enum<E>
他們如何擴大呢?
編輯:也在哪裏的values()方法定義?
在此先感謝
這的確是非法使用未定義的類型參數來擴展泛型類型。然而,枚舉不這樣做。如果你正在反編譯一些java代碼,並在那裏看到一個<E>
(並且你的枚舉類型沒有命名爲E
),你的反編譯器不能正確地處理泛型。
一個枚舉暗含延伸Enum<YourEnumType>
。也就是說,編譯器隱式生成class YourEnumType extends Enum<YourEnumType>
。通過向下傳遞自己的類型,它允許Enum
的compareTo
和valueOf
函數拒絕來自不同類型的enum
的值。
你從哪裏得到? 'Foo'應該擴展'Enum '。 –
bdonlan
2012-04-22 02:00:40
當它創建enum類型的枚舉時,是否隱式定義e? – rubixibuc 2012-04-22 02:01:57
這裏是java.lang.Enum的來源,如果有幫助:http://www.docjar.com/html/api/java/lang/Enum.java.html – Thilo 2012-04-22 02:02:56