我已經定義,像這樣一類:無法調用泛型方法使用通配符
public class Test {
static <T> List<Class<T>> filter(List<Class<T>> input) {
// code here
}
public static void main(String[] args) {
List<Class<? extends Throwable>> list =
new ArrayList<Class<? extends Throwable>>();
filter(list);
}
}
在main
的filter
方法調用提供了以下編譯錯誤:
The method filter(List<Class<T>>) in the type Test is not applicable for the
arguments (List<Class<? extends Throwable>>)
我不明白爲什麼<T>
不綁定到<? extends Throwable>
。有沒有可以幫助我的泛型大師?
魔法門值得一看http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html – akarnokd 2009-06-21 21:47:19
這調用方法(當修正錯誤,雖然我不不明白爲什麼),但現在我在方法裏面有一個錯誤。基本上,我有一個`列表>`保存結果,我不能條目,將其添加因爲` extends T>類`無法轉換爲`類`。至少,這對我來說很有意義。我改變該方法返回`列表<類 extends T>>`,以及,那編譯。這很奇怪,但它的工作原理。 –
2009-06-21 21:56:29