为什么不能将ArrayList <string>添加到ArrayList <object>?</object> </string>中

时间:2014-01-28 10:59:37

标签: java object arraylist

这有点工作:

    ArrayList<Object> list1 = new ArrayList<>();
    list1.add("Hello");
    list1.add(1.5);
    list1.add(new Whatever());
    ArrayList<ArrayList<Object>> listAll = new ArrayList<>();
    listAll.add(list1);

在Object的ArrayList中,您可以添加任何Object ...也可以将带有Objects的相同ArrayList添加到Object的另一个ArrayList中。为什么这不起作用:

    ArrayList<String> list1 = new ArrayList<>();
    list1.add("Hello");
    list1.add(new String("World!"));
    ArrayList<ArrayList<Object>> listAll = new ArrayList<>();
    listAll.add(list1);

我有一个字符串的ArrayList(String是一个Object),虽然这些是listAll中的对象,但我无法添加它们。

PS:JDK1.7

编辑:我确实读到了这个&#39;重复&#39;,关于狗和猫。不确定我明白了,但好吧:)。

1 个答案:

答案 0 :(得分:0)

这里的所有东西都是Object的一个实例,但反之则不然。

(String is an Object but Object is not String)

这就是String类型的ArrayList不接受Object而只接受String的原因。