所以我有3個類。Java泛型的問題
Abstract class A
Class B extends class A
independent Class C
在包含main方法的類d,我創建類B的實例的列表
List<B> b = methodCall(); // the method returns a list of instances of class B
現在類CI有一個方法,是共同的A和B兩者,並且因此我不想複製它。我想有一個方法,作爲輸入類A的一個實例,如下所示:
public void someMethod(List<A> a)
然而,當我這樣做:
C c = new C();
c.someMethod(b);
我得到一個錯誤,有些法不適用對於參數List<B>
,而是期望得到List<A>
。
有沒有很好的方法來解決這個問題? 非常感謝!
這不是一個問題,繼承,這是一個仿製藥的問題。查看泛型教程。對於這類問題,這是一個很好的參考:http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf – 2010-06-10 18:04:09
你能否包含實際的函數定義和錯誤的副本? – VeeArr 2010-06-10 18:04:59