【发布时间】:2021-02-03 10:16:37
【问题描述】:
这是我的代码 sn-p。
String fileName = "";
FileDTO file =
FileService.findById(fileId);
if(file != null && file.getFileFormate() != null){
fileName = file.getFileName();
fileName = "." +file.getFileFormate().getExtension();
}
在这里我可以看到 Null 指针异常的可能性。如果文件不为空,然后 file.getFileFormate() 不为空,那么我可以调用 file.getFileFormate().getExtension()。所以我必须为它们中的每一个检查 null 。有没有飞的方法来检查它。类似的东西:-
file?.getFileFormate()?.getExtension()
JVM也是从右到左从左到右执行代码吗?
所以我的代码冷如检查:
if(file != null && file.getFileFormate() != null)
or
if(file.getFileFormate() != null && file != null)
or
if(null != file.getFileFormate() && null != file)
【问题讨论】:
-
从左到右 & 没有。没有其他办法。你必须把它锁起来
-
Java 没有
?运算符,您无法通过这种方式检查null。
标签: java nullpointerexception null-pointer