我继续接受这个NPE,尽管我有以下证据表明我的阵列确实存在: 使用这段代码我引用了一个2D字符串数组,我随机选择一个元素,这是两个子元素中的第一个:
do{
hold = (oneRay.length);
pick = random.nextInt(hold);
System.out.println("called(); has been called - oneRay.length =
" + oneRay.length + "oneRay[0].length " + oneRay[pick].length);
}while("".equals(oneRay[pick][0]));
area.setText(oneRay[pick][0]);
从控制台,我收到NPE发生的错误 - 如何,当我的Random对象初始化时,由于我的println检查点,我可以清楚地看到数组已满并因此存在:
called(); has been called - oneRay.length = 15oneRay[0].length2
called(); has been called - oneRay.length = 15oneRay[0].length2
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at wbh.SwingImplementation.called(SwingImplementation.java:105)
我从昨天起就遇到过这个问题,尽管我试图解决它 - 我的阵列显然正在复制,那么这个NullPointer是什么? 感谢所有拥有并希望能帮助我的人! 干杯
答案 0 :(得分:0)
对于oneRay[0].length
,数组的第0个元素必须具有值。
对于oneRay[pick].length
,数组的pickth元素必须具有值。