将arraylist转换为java中的double array [0]

时间:2011-07-30 06:29:05

标签: java multidimensional-array

我有这段代码:

public class Test{
        arrayList<String> list = new ArrayList<String>();
        String[][] temp_list;

        public static void main(String[] args)
        {
          String temp = list.get(0);
          temp_list[0] = temp.split(" ");
        }
    }

我想将'list'中的第一项转移到temp_list [0]。编译成功但我运行时出错。这是错误:

 Exception in thread "main" java.lang.NullPointerException
            at Test.main(Test.java:this line=>temp_list[0] = temp.split(" ");)

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

您需要在使用之前初始化temp_list。您需要指定数组的大小。例如:

int sizeOfArray = 5;
String[][] temp_list = new String[sizeOfArray][];

答案 1 :(得分:0)

这是因为您没有为temp_list分配任何2D数组。 (拆分结果应该存储在哪个数组?)

这是您的代码段的工作版本。

import java.util.ArrayList;

public class Test {
    static ArrayList<String> list = new ArrayList<String>();
    static String[][] temp_list;

    public static void main(String[] args) {
        list.add("hello wold");

        // allocate memory for 10 string-arrays.
        temp_list = new String[10][];     <-----------

        String temp = list.get(0);
        temp_list[0] = temp.split(" ");
    }
}

答案 2 :(得分:0)

此代码将无法编译,因为list被声明为类的成员变量,但main是静态方法。

如上所述,list也没有添加任何内容,因此对list.get(0)的调用将抛出异常(尽管不是空指针)。

在给定的代码中没有分配数组temp_list(没有新的),因此尝试赋值将抛出空指针异常。