为什么不对Empty()进行空检查?

时间:2019-06-03 02:17:39

标签: spring-boot multipartform-data multipart

首先,请您了解英语是否流利。

我目前正在使用MultipartFile实现上传功能。如果没有文件,它将使用isEmpty()检查空值。当我提交但未选择文件时,isEmpty()部分会发生NullPointerException。

因此,当我没有文件时,如果我检查file != null而不是isEmpty()会很好。查看MultipartFile(ex:CommonsMultipartFile,StandardMultipartFile ...)的实现,这仅检查文件大小是否为零。如果是这样,我想知道是否可以像file != null一样检查是否为空。

if(uploadFile.isEmpty()){ //Here a NullPointerException is thrown
    ...
}

if(uploadFile != null){ //Does not occur here
    ...
}

1 个答案:

答案 0 :(得分:1)

如果uploadFile对象本身为null,则表示您正在isEmpty()上调用null,这会引发NPE

您可以结合以下条件

uploadFile != null && !uploadFile.isEmpty()