java.lang.NullPointerException over a SVGPath LinkedList



我创建了一个SVGPath LinkedList,但是,当我迭代这个列表时,我得到了java.lang.NullPointerException。它是一个简单的LinkedList,大小为9。您可以看到下面的代码:

public class RiskControllerClass implements Initializable {
    @FXML
    private SVGPath NA_1; // Alaska
    @FXML
    private SVGPath NA_2; // NorthWest_Ter
    @FXML
    private SVGPath NA_3; // Greenland
    @FXML
    private SVGPath NA_4; // Quebec
    @FXML
    private SVGPath NA_5; // Ontario
    @FXML
    private SVGPath NA_6; // Alberta
    @FXML
    private SVGPath NA_7; // E_America
    @FXML
    private SVGPath NA_8; // W_America
    @FXML
    private SVGPath NA_9; // C_America
    private LinkedList<SVGPath> regions = new LinkedList<>();
    private String nodeID;
    public RiskControllerClass() {
        regions.add(NA_1);
        regions.add(NA_2);
        regions.add(NA_3);
        regions.add(NA_4);
        regions.add(NA_5);
        regions.add(NA_6);
        regions.add(NA_7);
        regions.add(NA_8);
        regions.add(NA_9);
        System.out.println("Length : " + regions.size());
                for (Iterator<SVGPath> iter = regions.iterator(); iter.hasNext();) {
                    SVGPath sVGPath = iter.next();
                    System.out.println(sVGPath.getId());
                }
    }

当我尝试只打印sVGPath如System.out.print(sVGPath)时,它打印null的所有值。然而,当我打印list的大小时,它给出了9 !怎么可能呢?如果你能帮助我,我会很感激的。

简答:一个java.util.LinkedList可以包含null个条目

详细回答:你的代码是在类的构造函数中,所以一些框架(FXML)几乎不可能将值放入NA_1, NA_2,…, NA_9。因此,您现在向LinkedList添加了9个未初始化的字段。Java中未初始化的字段总是null。所以你的列表包含9个元素,它们都是null

相关内容

  • 没有找到相关文章

最新更新