Java Swing do在空指针[persisting]混乱时运行

Java Swing do在空指针[persisting]混乱时运行,java,arrays,swing,nullpointerexception,do-while,Java,Arrays,Swing,Nullpointerexception,Do While,尽管我有以下证据表明我的阵列确实存在,但我仍继续收到此NPE: 使用此代码,我引用一个二维字符串数组,随机选择一个元素,两个子元素中的第一个: do{ hold = (oneRay.length); pick = random.nextInt(hold); System.out.println("called(); has been called - oneRay.length = " + oneRay.length + "oneRay[0].l

尽管我有以下证据表明我的阵列确实存在,但我仍继续收到此NPE: 使用此代码,我引用一个二维字符串数组,随机选择一个元素,两个子元素中的第一个:

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的错误-当我的随机对象被初始化时,这怎么可能?由于我的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)
尽管我试图解决这个问题,但从昨天开始我就遇到了这个问题——我的数组显然是在复制,那么这个空指针是什么呢? 感谢所有曾经帮助过我的人,希望他们能帮助我!
干杯

对于
oneRay[0]。长度
,数组的第0个元素必须有一个值。
对于
oneRay[pick].length
,数组的pickth元素必须有一个值。

引用数组可以存在,但包含空引用。可以复制空引用,但不能用于访问对象。初始化数组时,数组包含X个空引用作为其元素。您必须初始化每个元素。如果您想调试它,请使用带有固定种子的
新随机(种子)
,在这里您可以复制错误