gpt4 book ai didi

java - Sonar : Possible null pointer dereference due to return value of called method

转载 作者:行者123 更新时间:2023-12-05 02:49:04 25 4
gpt4 key购买 nike

if (response != null && response.getBody() != null && response.getStatusCode() == HttpStatus.OK) {
return new BigDecimal(response.getBody());
}

由于上述代码中被调用方法的返回值,我得到了可能的空指针取消引用。

有人可以让我知道确切的问题及其原因吗?

response.getBody() // returns a string value

提前致谢!如果需要任何其他详细信息,请告诉我。

最佳答案

Sonar 不知道对 getBody() 的两次连续调用将返回相同的值。

因此,从静态分析器的角度来看,第二次调用确实有可能返回 null

我建议将主体分配给局部变量,并且只调用一次 getter。 Here是来自 Sonar 社区的引用,其中有人将此行为报告为错误并收到了类似的回复。

静态分析器实际上无法证明这两个调用将返回相同的值,除非response 是最终且不可变的类型。我还没有尝试过任何静态分析器来证明这一点。

关于java - Sonar : Possible null pointer dereference due to return value of called method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64170732/

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