不确定为什么我在这个循环中得到Null异常

时间:2013-12-06 03:03:57

标签: java for-loop arraylist

我有一个类的构造函数,它迭代ImageIcon的一个ArrayList,但是在它的一半时,它会因为NullPointerException而崩溃。有什么想法吗?

for (ImageIcon i : dm.GetIcons())
{
    _labels.add(new JLabel(i));
}

public ArrayList<ImageIcon> GetIcons(){
    return _icons;  
}

我尝试将GetIcons投入变量并设置断点,它有8个项目(完全符合我的预期)但是当我跳过我的循环2或3次时它崩溃了。不知道我做错了什么。新手到Java。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

ImageIcon s

列表中有null元素

您可以先检查无效,

for (ImageIcon i : dm.GetIcons())
{
    if (i != null) {
        _labels.add(new JLabel(i));
    }
}

只有可以跳过空元素,即取决于您的应用需要。

答案 1 :(得分:0)

您的ImageIcon ArrayList可能包含一些空对象或没有值的Empty对象