【发布时间】:2016-07-31 09:24:45
【问题描述】:
我正在尝试深入研究array。试了这么多多维数组没看懂
class Test
{
public static void main (String[] args) throws java.lang.Exception
{
String [][] obj1 = new String [10][5];
String [][] obj2 = new String [10][];
System.out.println(obj1[1].length);
System.out.println(obj2[1].length);
}
}
在这个例子中,我尝试了两个二维数组。
String [][] obj1 = new String [10][5]; 和 String [][] obj2 = new String [10][];。
现在
System.out.println(obj1[1].length); 给出长度 5 作为输出。完全清除。
在第二个 sysout 语句中抛出 NullPointerException
System.out.println(obj2[1].length); 完全未清除。因为我不是试图访问成员变量,只想获取长度。
那么,为什么NullPointerException 在这里? 第二类数组声明真的有什么优势吗??
请详细解释,找到了几个来源,但仍然感到困惑。
谢谢
【问题讨论】:
-
阅读锯齿状数组。
标签: java arrays multidimensional-array nullpointerexception