为什么这段代码会抛出nullpointerexception?

D. *_*Ace 1 java nullpointerexception

我不明白为什么这段代码会抛出空指针异常,因为我认为第3行设置了sampleArray[0][0])to 的值1.

int arrSize = 100;
String[][] sampleArray = new String[arrSize][];
sampleArray[0][0]="1";
System.out.println(sampleArray[0][0]);
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

geo*_*and 10

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]);