我需要定義一個泛型類,並且類型參數必須是枚舉。我認爲它應該看起來像Java有界wilcard類型
public class <T> MyClass<T extends Enum<T>> {
}
但我似乎無法弄清楚確切的語法。我應該提到,我需要一種方式來引用它實例化的類型(在MyClass中)。
謝謝!
我需要定義一個泛型類,並且類型參數必須是枚舉。我認爲它應該看起來像Java有界wilcard類型
public class <T> MyClass<T extends Enum<T>> {
}
但我似乎無法弄清楚確切的語法。我應該提到,我需要一種方式來引用它實例化的類型(在MyClass中)。
謝謝!
public class MyClass<T extends Enum<T>> { }
雖然已批准的答案在語法上看起來正確,但是對於這樣的聲明,情況如何?你是否試圖編寫一些可以在任何enum
-defined類型上運行的類,如java.util.EnumSet
或java.util.EnumMap
?這是一種不尋常的安排,所以確保你真的需要它來滿足你的要求。
這實際上是您經常使用的用例。例如,你也可以創建一個類型爲>的TreeSet,這意味着你可以相互比較的一組東西。 –
Jorn
2009-11-20 23:27:44
是的,這幾乎是奇怪的循環模板模式,沒有派生。我在這裏具體詢問Enum的用法。我把這個問題集中在Enum上,而不是寫出這樣一個通用聲明的普遍問題。 – seh 2009-11-20 23:46:11