gpt4 book ai didi

java - Sonarqube 不提示空 boolean 拆箱

转载 作者:行者123 更新时间:2023-11-30 10:19:24 28 4
gpt4 key购买 nike

我的 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 中检索到一个空 boolean 值,然后将该空值拆箱并作为 boolean 值返回(在我的示例中为第 118 行)。拆箱会导致 NullPointerException,例如在运行“main”方法时。

Sonar(带有内置 Java 分析器 5.1(内部版本 13090))不会对此提示。为什么?

此外,当我没有 HashMap 而是使用“org.apache.sling.api.resource.ValueMap”的更复杂的方法时,其中“get”方法甚至用 @CheckForNull 注释,Sonar 也没有看到任何东西。有没有办法让 Sonar 对此提示?

最佳答案

目前不支持空值拆箱检测。

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

关于java - Sonarqube 不提示空 boolean 拆箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48651039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com