我有一個類B它擴展了A。 甲存儲AItem和乙商店BItem泛型向數組中添加子類
在列表的列表 'A' 我有一個ArrayList的其使用[?擴展了AItem]。
我認爲這意味着我可以使用此ArrayList的任何類型的擴展AItem的對象。
所以在我的B類中,我有一個方法add(..),它將BItem添加到項目中。
我認爲這將工作,因爲項目arrayList可以容納從AItem延伸的任何對象的列表。
import java.util.ArrayList;
class A {
public ArrayList<? extends AItem> items;
}
public class B extends A{
public void add(BItem i) {
this.items.add(i); //compile error here
}
}
//items :
class AItem {}
class BItem extends AItem{}
我該如何得到這個工作?
我的編譯錯誤是這樣的:
Add方法(捕獲#2的擴展AItem?)在類型 ArrayList中是不適用的 參數(BItem)
無法項目添加到[我如何添加 – Ian2thedv
未知類型可能重複的名單到列表<?擴展數字>數據結構?](http://stackoverflow.com/questions/2776975/how-can-i-add-to-list-extends-number-data-structures) – Ian2thedv
非常好的問題。我保持尋找答案,但我認爲你需要用一些類來初始化arrayList。 – jabujavi