private List<? extends BaseModelBO> overAllItems = new ArrayList<>();
我正在尝试添加另一个相同类型的列表。
List<? extends BaseModelBO> newList = getResponseList(webServiceResponse.getResponse());
if (newList != null && newList.size() > 0)
overAllItems.addAll(newList);
还尝试了List<AnyClassWhichExtendsBaseModelBO>
..
喜欢
List<ContactBO> contactList = getContacts(); //where ContactBO extends BaseModelBO
overAllItems.addAll(contactList);
错误日志
addAll in List cannot be applied to java.util.List<capture<? extends BaseModelBO>>
查看错误图片
答案 0 :(得分:2)
这是因为编译器不知道? extends BaseModelBO
的正确类型,所以当addAll
编译器不知道应该在那里应用什么类型时,抛出编译错误。所以你可以这样做:
private List<BaseModelBO> overAllItems = new ArrayList<>();
答案 1 :(得分:-1)
将newList
的类型更改为:
List newList = getResponseList(webServiceResponse.getResponse());
现在编译器发出警告:List是原始类型,但没有错误。