这有点工作:
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;,关于狗和猫。不确定我明白了,但好吧:)。
答案 0 :(得分:0)
这里的所有东西都是Object的一个实例,但反之则不然。
(String is an Object but Object is not String)
这就是String类型的ArrayList不接受Object而只接受String的原因。