为什么isEmpty() not null checked?
Why isEmpty () not null checked?
首先,英语不流利,请谅解。
我目前正在使用 MultipartFile 实现上传功能。如果没有文件,它会使用 isEmpty() 检查空值。未选择文件提交时,isEmpty()部分出现NullPointerException
因此,当我没有文件时,如果我检查 file != null
而不是 isEmpty(),它会正常工作。查看 MultipartFile(例如:CommonsMultipartFile、StandardMultipartFile...)的实现,这仅检查文件大小是否为零。如果是这样,我想知道是否可以像file != null
一样检查它来检查null。
if(uploadFile.isEmpty()){ //Here a NullPointerException is thrown
...
}
if(uploadFile != null){ //Does not occur here
...
}
如果 uploadFile
对象本身为 null 那么这意味着你在 null
上调用 isEmpty()
抛出 NPE
你可以像这样组合条件
uploadFile != null && !uploadFile.isEmpty()
首先,英语不流利,请谅解。
我目前正在使用 MultipartFile 实现上传功能。如果没有文件,它会使用 isEmpty() 检查空值。未选择文件提交时,isEmpty()部分出现NullPointerException
因此,当我没有文件时,如果我检查 file != null
而不是 isEmpty(),它会正常工作。查看 MultipartFile(例如:CommonsMultipartFile、StandardMultipartFile...)的实现,这仅检查文件大小是否为零。如果是这样,我想知道是否可以像file != null
一样检查它来检查null。
if(uploadFile.isEmpty()){ //Here a NullPointerException is thrown
...
}
if(uploadFile != null){ //Does not occur here
...
}
如果 uploadFile
对象本身为 null 那么这意味着你在 null
上调用 isEmpty()
抛出 NPE
你可以像这样组合条件
uploadFile != null && !uploadFile.isEmpty()