List 类型中的 add(capture#2-of ? extends IObject) 方法无法接受参数 (IDerived)
protected List<? extends IObject> getObjects()
{
List<? extends IObject> objects = new ArrayList<IObject>();
for (String id: item_ids)
{
IDerived object = (IDerived) readObject(id);
objects.add(object); #error
}
return objects;
}
interface IDerived extends interface IVersionedObject extends interface IObject
如果我将对象的类型更改为List,则错误消失了,这没有任何意义,因为它必须对函数返回类型进行完全相同的转换。
objects
应该被实例化为new ArrayList<IDerived>()
吗? - biziclop