1

我有一个填充数据的 2d dbl 数组,我可以在代码中的任何位置调用它:

System.out.println(twodarray[0][0]);

它工作得很好。当我将它作为 Actionlistener 的一部分调用时,它不起作用,并且我得到一个空指针异常。

我的事件监听器代码:

public void actionPerformed(ActionEvent e)      
 {
     if (e.getSource() == firstbutton)
     {

         System.out.println(twodarray[0][0]);

     }

 }

我不知道从哪里开始解决这个问题。该数组存在有效数据,如我的代码中 println 的其他任何地方所示。我在哪里错了?

4

2 回答 2

2

您可以访问数组;那不是问题。问题是调用动作侦听器时数组变量为空。确保您没有在构造函数或方法中隐藏数组变量。有关更详细的答案,请提供有关您的问题和代码的更多详细信息。

换句话说,您是在初始化类数组变量,还是仅初始化方法或构造函数本地的数组变量?

于 2012-05-21T21:36:51.187 回答
0

您还需要记住,侦听器正在 UI 线程上运行。确保您没有在其他地方填充二维数组。

于 2012-05-21T21:39:59.747 回答