这有点工作:
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);
在对象的阵列列表中,您可以添加任何对象...另外,您可以将带有对象的同一阵列列表添加到对象的另一个阵列列表中。为什么这不起作用:
ArrayList<String> list1 = new ArrayList<>();
list1.add("Hello");
list1.add(new String("World!"));
ArrayList<ArrayList<Object>> listAll = new ArrayList<>();
listAll.add(list1);
我有一个字符串的数组列表(字符串是对象),尽管这些是listAll
中的对象。
ps:jdk1.7
编辑:好吧,我确实读过有关狗和猫的"重复"。不确定我明白了,但是:)
这里的一切都是对象的实例,但反向不是正确的。
(String is an Object but Object is not String)
这是类型字符串的ArrayList不接受对象而只接受字符串的原因。