我不明白为什么这段代码会引发空指针异常,因为我认为第3行将sampleArray[0][0])
的值设置为1
。
int arrSize = 100;
String[][] sampleArray = new String[arrSize][];
sampleArray[0][0]="1";
System.out.println(sampleArray[0][0]);
有什么帮助吗?
最佳答案
sampleArray[0]
尚未初始化为数组。
您初始化了数组的第一个维度,但没有初始化第二个维度
您需要执行类似sampleArray[0] = new String[size]
的操作
初始化程序String[][] sampleArray = new String[arrSize][]
之所以起作用,是因为您正在创建一个引用了其他数组的数组。这些其他阵列中的每个阵列都可以具有不同的大小,可以根据需要设置大小。我的意思是,以下内容完全合法:sampleArray[0] = new String[10]; sampleArray[1] = new String[5]; System.out.println(sampleArray[0][9]); System.out.println(sampleArray[1][4]);