首页 > 解决方案 > 无法访问嵌套列表的大小或元素

问题描述

在 Java 中访问内部列表的大小或元素时出现错误。

这是我得到的错误

public static void main(String... args) {
    List list = new ArrayList();

    List<Integer> list2 = Arrays.asList(1,2,3);
    List<Integer> list3 = Arrays.asList(5, 6);
    List<Integer> list4 = Arrays.asList(7, 8, 9);

    list.add(list2);
    list.add(list3);
    list.add(list4);

    for (int i = 0; i < list.size(); i++) {
        for (int j = 0; j < list.get(i).size(); j++) {
            System.out.print(list.get(i).get(j)+ " ");
          }
       }
    }
}

标签: javalistarraylistnested-lists

解决方案


您对列表的声明q缺少它包含的对象类型的信息。

List<List<Integer>> q = new ArrayList<>();

如果没有这些信息,编译器唯一能知道的是它包含某种类型的对象,所以q.get()必须有 type Object。但是类中没有get()norsize()方法Object,这就是你得到的错误。


推荐阅读