我对FileInputStream对象进行了空检查,SonarQube在此块的第一行说:
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException ioe) {}
}
仅(我引用):"由测试涵盖(3 个条件中的 4 个)"
这个世界上怎么会有4个条件?我只能看到 2 个条件:对象是否为空。任何人都可以发布其他 2 个条件吗?我使用java 8。有没有办法取悦声纳?解决方法?什么。
更新:我删除了 if 语句并将整个 if 块替换为
org.apache.commons.io.IOUtils.closeQuietly(fileInputStream);
检查空值并使声纳满意。
从 Sonar 7.0 和 Jacoco 6.5 开始,现在可以将 try with resources 用作比
org.apache.commons.io.IOUtils.closeQuietly(fileInputStream);
我想知道close()和final()方法?