2013-11-09 68 views
0

我这段代码,得到一个Java郎空指针异常:Java Lang空指针异常,但我不明白为什么?

for (int i = 0; i<fragen.size(); i++) 
    { 
     for (int x = 0; x<dbfragen.size(); x++) 
     { 
      if(i == dbfragen.get(x).getFrageNR()) 
      { 
       if(fragen.get(i).getTyp() == 1) 
       { 

它发生在过去的if语句。 我使用的日志文件: fragen.size()是30 和崩溃的I = 1

这是没有意义的我:o

请帮助;)

+0

它应该告诉你确切的一行。 'dbfragen'为null或'dbfragen.get(x)'或'fragen.get(i)'返回的对象应该为null。 –

+0

尝试打印fragen.get(我),然后fragen.get(I).getTyp()之前,你如果条件下,看看哪一个抛出异常 –

+0

它告诉我,这是在49行(这是fragen.get(I)。 getTyp()== 1) 但它是第一次,当我是0,但不是第二次,当它是1 –

回答

1

一个集合有30个空值。我怀疑第一个元素不是null,所以它很好,但第二个元素index:1是null。

顺便说一句我建议缓存查找。

for (int i = 0; i<fragen.size(); i++) { 
    MyType fragenI = fragen.get(i); 
    if (fragenI == null) { 
     // do something 
     continue; 
    } 
+0

谢谢。 你是对的,里面有29个空值。 现在我必须找出原因...... –