public class ArrayListTest { public static void main(String[] args) {
 List<Integer>[] list = new ArrayList[10];
 System.out.println(list);
 for(int i=0;i<10;i++){
 list[i].add(i);
 }

 
}}
这是我写的测试程序
现在的想法是建立这样一个二维的数组,但是 list[i].add(i);总是报空指着异常,请大家帮我看一下 ,谢了!

解决方案 »

  1.   

    你创建的List数组,当时并没有创建数组里面的元素,应该是
      for(int i = 0; i < 10; i++){
            list[i] = new ArrayList<Integer>();
    }
      

  2.   

    List<Integer>[] list = new ArrayList[10];这一句只是声明了一个list类型的对象数组,就像声明变量一样,声明以后要进行初始化:
    for(int i = 0; i < 10; i++){
    list[i] = new ArrayList<Integer>();//这里对list对象进行初始化操作
    }
      

  3.   

    List<Integer>[] list = new ArrayList<Integer>[10]; 
    改成这样就可以了,这是泛型的基础,楼主回去巩固一下泛型
      

  4.   

    泛型集合定义为Integer 你给的值是int这样可以用么????
      

  5.   

    你这个肯定会空指针异常,看来你连最基本的java基础都还不会,好好的看看java基础知识,你声明的ArrayList 数组,数组中存放十个值为null的List对象。看你的意思是要测试List的作用,应该用下面的代码:
    List<Integer> list = new ArrayList<Integer>();
    for(int i = 0 ; i < 10 ; i++){
        list.add(i);}
      

  6.   

    public class ArrayListTest {    public static void main(String[] args) {
             List<Integer>[] list = new ArrayList[10];
             System.out.println(list);
             for(int i=0;i<10;i++){
                   list[i] = new ArrayList();
                  for(int j=0;j<10;j++){
                       list[i].add(j);
                  }
              } 
             
        }}
      

  7.   

        List<List<Integer>> list = new ArrayList<List<Integer>>();
    for (int i=0; i<10; i++) {
    List<Integer> subList = new ArrayList<Integer>();
    subList.add(i);
    list.add(subList);
    }
      

  8.   

    顶14楼!不过,list中的每个成员都是只有一个元素的list,略改了下代码:import java.util.*;
    public class ArrayListTest {    public static void main(String[] args) {
            List<List<Integer>> list = new ArrayList<List<Integer>>();
            for (int i=0; i<10; i++) 
            {
                List<Integer> subList = new ArrayList<Integer>();
                for (int j = 0; j < 10; j ++)
                    subList.add(i);
                list.add(subList);
            }    }}
      

  9.   

    我也遇见过这个问题,你可以这么做: 你在创建第一个ArrayList时没有创建里面的元素
          for(int i = 0; i<10; i++)
         {
             list[i] = new Arraylist<Integer>();
         }
    这样就好了
      

  10.   

    for(int i=0;i<10;i++){
             list.add(i);
    }一开始是空,所以要添加而不是修改
      

  11.   

    你创建的数组,默认是不会初始化的,为null,你必须自己初始化。
      

  12.   

    你的数组中的list没有初始化,前两天就有人问这个问题了!
      

  13.   

    public class ArrayListTest {    public static void main(String[] args) {
             List<Integer>[] list = new ArrayList[10];
             for(int i=0;i<list.length;i++){
                 list[i] = new ArrayList<Integer>(10);
             }
             System.out.println(list);
             for(int i=0;i<10;i++){
             list[i].add(i);
             }
        }}
      

  14.   

    list[i].add(i);
    改成
    list.add(i);
      

  15.   

    创建数组,默认元素都是null。