- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
*&x 是否总是等于 x?如果不是,什么时候不是? &*x 是否总是等于 x?如果不是,什么时候不是? 我的猜测是 (1) 总是正确的,但 (2) 并不总是正确的,因为 x 可能并不总是一个指针,所以
这段代码: int main(char[][] args) { MyObject obj; obj.x; return 0; } 给我:Error: null dereference in
我想减少使用 XMLHttpRequest() 从服务器获取信息的 I/O 开销或ActiveXObject()视情况而定,通过创建一个通用函数来执行提取,然后使用 sessionStorage. 存
我对以下代码有疑问: #!/usr/bin/perl use strict; use warnings; my %dmax=("dad" => "aaa","asd" => "bbb"); my %d
int main() { char test[15] = "Hallo World"; test[1] = *"e"; } 要将第二个字母更改为 e,我必须遵循字符串 "e"。我找不到
我正在尝试通过实现一些基本数据结构来学习 Rust。在本例中,是一个 Matrix。 struct Matrix { pub nrows: uint, pub ncols: uint, p
Editor's note: This code example is from a version of Rust prior to 1.0 and is not valid Rust 1.0 co
我刚刚阅读完 rust-lang.org 上的生命周期指南并尝试实现该示例(但使用通用枚举来增加一点复杂性)。 enum PositionInfo { Position(T, T), } en
在 JavaScript 中,如何取消引用函数返回的对象? 例如: var tmp = getTextProperties(); font = tmp.font; size = tmp.siz
我是 C++ 的新手,作为练习(也许最终是 .Net 实用程序),我正在做一个指针包装器(实际上是在 C++/CLI 中,但这也适用于 C++)。这个指针包装器(称为 Apont)目前的行为就像一个指
表达式 &ptr->fld不代表取消引用,而是应将其视为 (uint32_t)ptr + offsetof (ptr, fld) .我确信 GCC 做了这种简化,但我找不到代码中的位置。 以上结果为
我现在正在试验 Rust,我真的被各种随机的编译器错误绊倒了,比如这个: error: cannot move out of dereference of `&`-pointer return
我是 Rust 的新手,正在尝试编写命令行实用程序作为学习的一种方式。 我正在获取 args 的列表并尝试匹配它们 let args = os::args() //some more code mat
我目前正在为 C 语言开发一个简单的克隆检测器,用 C++ 编写,并且不断地问自己关于效率和如何优化 C++ 代码的问题。 我有一个问题是关于如何有效地传递结构。如果给出类似于以下内容的结构: typ
我在 C# 中有一些代码使用这样的结构: ArrayList addrs = new ArrayList(); byte[] addr = new byte[8]; while (oneWire.Se
这个问题在这里已经有了答案: What's the meaning of * and & when applied to variable names? (1 个回答) 关闭 6 年前。 刚接触 C
在 boost::filesystem 中,path 类总是尝试解引用符号链接(symbolic link)。许多 API 都是为了让符号链接(symbolic link)看起来不可见。我猜他们下面的
我正在尝试使用 C# 委托(delegate)实现撤消功能。基本上,我有一个 UndoStack,它维护一个实现每个撤消操作的委托(delegate)列表。当用户选择 Edit:Undo 时,此堆栈弹
我有一个工作正常的记录器,但在内存分配方面产生了相当多的开销。下面的 Debug() 函数不是故意打印的,因为 logOutputLevel 不够高。 var logOutputLevel = 2 f
我有这个 C 代码: #include #include
我是一名优秀的程序员,十分优秀!