【问题标题】:NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUENP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
【发布时间】:2015-12-11 11:34:39
【问题描述】:

FindBugs 在以下方法的返回语句中抛出 NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE。尝试对每个值进行空检查,但我仍然无法修复。

public String toString() {
   String filter = StringUtils.isBlank(this.filter) ? "NONE" : this.filter;

   String res = "";
   if (method != null && method.getName() != null){
      res = method.getName();
   }

   return res;
}

【问题讨论】:

  • 我没有看到任何尝试在 7 不同的地方检查空值,你可以得到 null
  • @JarrodRoberson ,更新了代码..在同一行遇到同样的问题。你能帮帮我吗?
  • 顺便说一句:有 StringUtils.defaultIfBlank 可以简化第一行。

标签: java gradle findbugs


【解决方案1】:

似乎 FindBugs 不知道 getName() 的两个单独调用返回相同的值(分析这将非常困难)。似乎您的 getName() 方法实际上有时会返回 null,因此 FindBugs 内部将此方法返回类型标记为 @CheckForNull。要删除警告,请仅调用该方法一次。比如这样:

String res = null;
if (method != null)
    res = method.getName();
if (res == null)
    res = "";
return res;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    相关资源
    最近更新 更多