string.isEmpty()的空指针异常

时间:2014-08-31 14:55:30

标签: nullpointerexception javafx-8

我的JavaFX程序检查窗口是否正在关闭:

    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
        @Override
        public void handle(WindowEvent event) {
            Error.reportError("Sucessful Leaf JavaFX run.");
            Error.fileAllErrors();
        }
    });

Error类有一个报告错误的方法:

public static ArrayList<String> errorList;

public static void reportError(String tempone){
    if(!tempone.isEmpty())
        errorList.add(tempone);
}

然后最终将错误输出到文件中,这是我在网上找到的方法:

Mykong = How to write to a file in java

我似乎无法发现代码有任何问题,我尝试将!tempone.isEmpty()更改为tempone != " "更改为tempone != null,而fileAllErrors没有参数。

1 个答案:

答案 0 :(得分:1)

你的问题不是字符串,而是:

public static ArrayList<String> errorList;

应该是

public static ArrayList<String> errorList = new ArrayList<String>();

因为您当前没有使用实例化列表,它总是NPE。

然而,虽然我们正在进行NPE,但字符串可以为空,因此可以为空。考虑进行空检查或编写&#34; isNullOrEmpty&#34;功能,例如。

public static bool isNullOrEmpty(String inString) {
    return inString == null || inString.isEmpty();    
}