0
這是我的代碼:如何在使用2個泛型參數擴展Map對象的JAVA泛型類型中定義?
public class Configuration <T extends Map<K,V>, K, V> {
public Map<K, V> fields;
public Configuration() {
this.fields = new T<K, V>(); // --> error: Type 'T' does not have type parameters
}
}
爲什麼我不能定義一個通用的對象與泛型參數?
除了一句*你永遠不能做'新T()'其中'T'是一個變量* - 你可以不知道(!所以該編譯器)的類型是否確實定義構造函數或不。假設在運行時'T'是'A'類型,可能只有構造函數'A(String str)'被定義,然後'new T()'將是無效的。 –
在其他一些語言(C++)中,除非實際嘗試創建'Configuration' –
immibis
,否則'new T()'是有效的,我不知道這一點。但我懷疑*這更容易出錯。 –