【发布时间】:2013-02-11 10:41:48
【问题描述】:
我创建了如下列表。
ArrayList<? extends Object> arr = new ArrayList<Object>();
我通过上面的代码理解这是一个上限,任何作为对象子类的元素都可以添加到列表中。 现在我正在尝试这样:
String str = new String("str");
Integer i = new Integer(4);
Object obj = new Object();
arr.add(obj);
arr.add(str);
arr.add(i);
他们都在报错。这里有什么问题? 但是当我把它改成
ArrayList<? super Object> arr = new ArrayList<Object>();
一切正常。它是下界。谁能给我解释一下。
【问题讨论】: