Java泛型列表作为参数

时间:2014-12-04 10:36:33

标签: java list generics

按照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

即使我想,我也似乎无法正确地投射参数。

仿制药专家,帮助我: - )

1 个答案:

答案 0 :(得分:2)

首先澄清一些事情, 不是List<? super Object) myList,而是)个字符> 另一件事是列表没有定义方法put,要添加你正在使用的列表add

在整理出yhose问题后,一切正常,请查看this example