2011-05-30 69 views
-4

为什么我在执行for循环时得到这个空指针异常?for循环中的空指针异常

在 的javax在在 javax.swing.Timer.fireActionPerformed(未知来源) A3JPanel.actionPerformed(A3JPanel.java:141)线程 “AWT-EventQueue的-0” 显示java.lang.NullPointerException异常。 swing.Timer $ DoPostEvent.run(来源不明)在 java.awt.event.InvocationEvent.dispatch(来源不明)

我的代码:

for (int i = 0; i < dots.length; i++) { 
dots[i].moveDots(); 
} 
+5

这可能是因为'dots'数组或其中的一个元素是'null'。你能否提供更多关于周围代码的上下文,以便我们可以试着了解为什么会这样? – templatetypedef 2011-05-30 23:41:24

+2

这不是空指针异常。这是一些代码。 – sje397 2011-05-30 23:43:04

+2

我敢打赌,你已经创建了一个点的数组,但你还没有填充它的点对象。那是我的SWAG。解决方案,首先遍历数组并填充新的Dot对象。 – 2011-05-30 23:45:27

回答

6

你必须初始化数组的每个元素,才能在他们做的操作,这样

Dot[] dots = new Dot[10]; 

for (int i = 0; i < dots.length; i++) { 
    dots[i] = new Dot(); 
    dots[i].moveDots(); 
} 
0

你的堆栈跟踪信息是不是非常有帮助,但即使你初始化dot阵列中的所有对象Dot,你moveDots()方法可能负责NullPointerException。你能向我们展示一些你的代码,所以我们知道问题在哪里?这显然不是你发布的那么一点点。