Java 使用?在列表参数中

Java 使用?在列表参数中,java,Java,我试图将CustomObject添加到CustomObject的列表中(该列表封装在另一个类CustomObjectList中)。 但是,我的控制台上有以下错误: 类型CustomObjectList中的方法.add(CustomObject)不适用于参数(capture#5-of?扩展了ICustomObject) ICustomObject是CustomObject实现的接口 CustomObjectList实现如下: class CustomObjectList { private

我试图将CustomObject添加到CustomObject的列表中(该列表封装在另一个类CustomObjectList中)。 但是,我的控制台上有以下错误:

类型CustomObjectList中的方法.add(CustomObject)不适用于参数(capture#5-of?扩展了ICustomObject)

ICustomObject
是CustomObject实现的接口

CustomObjectList
实现如下:

class CustomObjectList {
    private List<CustomObject> bar = new ArrayList<CustomObject>();

    public List<CustomObject> getCustomObjectList() {
        return this.bar;
    }

    public void add(CustomObject foo) {
        this.bar.add(foo);
    }
}
CustomObjectList randomName = new CustomObjectList();
for (ICustomObject iCO : anOtherObject.getCustomObjectList()) {
    randomName.add(iCO);
}
与:

public class anOtherObject {
    private CustomObjectList customObjectList;
    public List<? extends ICustomObject> getCustomObjectList {
        return customObjectList.getCustomObjectList();
    }
} 
公共类另一个对象{
私有CustomObjectList CustomObjectList;

public List接口返回实现ICUSTOObject的对象列表,但这些对象可能不是CustomObject类(因为其他类也可能实现ICUSTOObject)正因为如此,您无法将返回的项目添加到CustomObject列表中。

请编辑您的问题,以显示什么是
ICustomObject
,以及它与其他所有内容的关系。此外,您的错误似乎是由另一段调用
add
方法的代码引起的,但您也没有显示该代码。我最担心的是rry,我正在处理我公司的一些代码,部分是通过内存发布的。我按照您的要求进行了编辑。您定义了
CustomObjectList#getCustomObjectList()
以返回
List
,并在
另一个对象#getCustomObjectList()中
您可以假装它返回
列表它不是我的代码,这取决于具体情况,例如,您可以将bar定义为列表,或者在将ICustomObjects添加到列表之前强制转换属于CustomObject类的ICUSTObjects