我不明白为什么这段代码会抛出空指针异常,因为我认为第3行将sampleArray[0][0])
的值设置为1
。
int arrSize = 100;
String[][] sampleArray = new String[arrSize][];
sampleArray[0][0]="1";
System.out.println(sampleArray[0][0]);
任何帮助?
答案 0 :(得分: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]);
答案 1 :(得分:1)
您不能只设置第一维的二维数组大小。因为它是一个数组数组,所以你无法返回一个未实例化数组的数组。