我的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没有参数。
答案 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();
}