我试图将字符串添加到数组列表数组中。
ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
test[0].add("Hello World!");
执行上面的代码时,抛出空指针异常。任何想法如何运作?
答案 0 :(得分:1)
你使用了错误的语法
它应该像这样工作
ArrayList<String>[] arrayList = new ArrayList[2];
arrayList[0] = new ArrayList<String>();
arrayList[0].add("Hello World");
答案 1 :(得分:1)
用于创建ArrayList数组。你必须做以下
ArrayList[] test = new ArrayList[2];// create array with all elements null
for(int i=0; i<2;i++)
{
test[i] = new ArrayList<String>(); // initialize each element with ArrayList object
}
test[0].add("Hello World!");
答案 2 :(得分:1)
您的代码为空指针,因为数组'test'仅包含ArrayList类型的空引用。您的构造仅创建阵列存储,而不是列表存储。这一点很重要,对于任何对象数组(或集合集合)都是一样的。
例如,以下将包含3个包含null的单元格。
Integer[] foo new Integer[3]
您需要先实例化一个列表,然后才能添加它。
ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
test[0] = new ArrayList<String>();
test[0].add("Hello World!");
答案 3 :(得分:0)
每次尝试添加到列表中时,都应该创建一个新数组
String[] test= new String[2];
ArrayList<String[]> test= new ArrayList<String[]>();
t2[0]="0";
t2[1]="0";
test.add(t2);
在上面的示例中,您将test
数组对象的引用传递给list.On .add()
方法
或同样的事情也可以通过以下方式在一个声明中完成,
ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
test.add(new String[] {"0", "0"});
<强>更新强>
如果你正在尝试创建arraylist数组,请看这里,