簡體   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