繁体   English   中英

SVGPath LinkedList上的java.lang.NullPointerException

[英]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 但是,当我打印列表的大小时,它会给出9!。 怎么可能? 如果您能提供帮助,无论如何,我将不胜感激。

简短答案: java.util.LinkedList可以包含null条目。

详细的答案:您的代码在类的构造函数中,因此某些框架(FXML)几乎不可能将值放入NA_1NA_2 ,..., NA_9 因此,您现在将九个未初始化的字段添加到LinkedList Java中的未初始化字段始终为null 因此,您的列表包含9个元素,所有元素均为null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM