按照PECS原则,我理解我可以声明一个列表,我可以将类型T的值放入,就像这样(T是一个字符串):
List<? super Object> myList = ....;
String object = "";
myList.add(object);
遵循相同的原则,任何想要遍历包含T的列表的人都可以这样做:
void myTraversingMethod(List<? extends Object> anyList) {
for (Object o: anyList) {
...
}
}
但是如何将我在步骤1中生成的列表传递给步骤2中的方法?
myTraversingMethod(myList) <--- Not possible
即使我想,我也似乎无法正确地投射参数。
仿制药专家,帮助我: - )
答案 0 :(得分:2)
首先澄清一些事情,
不是List<? super Object) myList
,而是)
个字符>
另一件事是列表没有定义方法put
,要添加你正在使用的列表add
在整理出yhose问题后,一切正常,请查看this example