繁体   English   中英

Sonarqube 不会抱怨空布尔拆箱

[英]Sonarqube does not complain about null Boolean unboxing

我的 Sonar 6.7.1 LTS 实例无法识别以下代码中的 NullPointerException:

public static boolean getBooleanFromMap() {
    final Map<String, Boolean> map = new HashMap<>();
    map.put("a", false);
    return map.get("b"); // line 118
}

public static void main(final String[] args) {
    System.out.println(getBooleanFromMap());
}

在方法“getBooleanFromMap()”中,从 HashMap 检索空布尔值,然后将该空值拆箱并作为布尔值返回(在我的示例中为第 118 行)。 拆箱会导致 NullPointerException,例如在运行“main”方法时。

声纳(带有内置的 Java 分析器 5.1 (build 13090))并没有抱怨。 为什么?

此外,当我没有 HashMap 但有一个更复杂的方法时,它带有“org.apache.sling.api.resource.ValueMap”,其中“get”方法甚至用@CheckForNull 注释,Sonar 也看不到任何东西。 有没有办法让声纳抱怨呢?

当前不支持检测空值的拆箱。

您可以关注此票https://jira.sonarsource.com/browse/SONARJAVA-2126

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM