当前位置: 首页 > 知识库问答 >
问题:

FindBugs:可能的空指针取消引用

孔瑾瑜
2023-03-14

嗨我有以下方法:

protected boolean shouldCheckLimit() {
    if (startDate == null || endDate == null) {
        return true;
    }
    final Long currentTime = System.currentTimeMillis();
    if (startDate <= currentTime && currentTime < endDate) {
        return true;
    }
    return false;
}
Possible null pointer dereference of TimeIntervalLimit.startDate in com.bet.blues.limit.TimeIntervalLimit.shouldCheckLimit() [Scary(8), Normal 

不得不提的是,startDate和endDate是长变量。我尝试在if条件中添加null检查,也尝试使用longValue()方法,但没有结果。你知道我怎样才能解决这个问题吗?可能是fndBugs端的bug?

共有1个答案

郝池暝
2023-03-14

由于startdate(以及enddate)可能为null,因此会出现错误。但是您检查了它们是否有null,所以这是不可能的,对吗?

答案是这两个都是全局的,并且可以在任何时候由另一个线程设置为null

 类似资料:
  • 我正在代码中运行findBugs测试。 它报告NP_NULL_ON_SOME_PATH:以下代码中可能存在空指针解引用。 我不明白为什么它会这样报告?

  • 此代码中可能存在空指针取消引用错误: 如何解决这些问题?

  • 我正在通过Sonarqube在代码上运行findbugs,我得到一个空指针解引用错误: 有一个语句分支,如果执行,保证空值将被取消引用。 故障代码很简单: 我想知道这怎么可能。NPE唯一可能的地方是调用x.compareTo(y)时,但如果x=null,Java将永远不会分析该分支,对吗? 这是一个bug,还是我遗漏了Java分析这条语句的方法? 更新 谢谢你的意见。最后我建议他们改成: 我发现这

  • 我试图用以下代码指出声纳中的关键问题: 我也做了下面的更改,但仍然不起作用 请帮忙。

  • 由于上面代码上调用的方法的返回值,我得到了可能的空指针解引用。 有人能让我知道确切的问题和为什么它是一个问题吗? 提前道谢!如果需要其他细节,请告诉我。

  • 我从Sonar那里得到问题:“由于调用方法的返回值,样式-可能的空指针取消引用。findbugs:np_null_on_some_path_from_return_value。问题在lockuntil.after(new Date())上; 我试图用 但它引入了其他问题。 谁能指导一下吗?