为什么不能将 ArrayList<String> 添加到 ArrayList 中<Object>?



这有点工作:

    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不接受对象而只接受字符串的原因。

最新更新