[英]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 也看不到任何東西。 有沒有辦法讓聲納抱怨呢?
當前不支持檢測空值的拆箱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.