我不明白为什么这段代码会引发空指针异常,因为我认为第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]);

09-25 20:10