解除引用的表达式可能为 null¶
ID: java/dereferenced-expr-may-be-null
Kind: problem
Security severity:
Severity: warning
Precision: high
Tags:
- reliability
- correctness
- exceptions
- external/cwe/cwe-476
Query suites:
- java-security-and-quality.qls
解除引用 null
值会导致 NullPointerException
。
如果表达式的类型是装箱基本类型,并且它出现在发生隐式拆箱的上下文中,则该表达式可能会被隐式解除引用。
建议¶
确保在解除引用时表达式没有 null
值。适当地使用装箱类型来保存可能为 null
的值。
示例¶
在以下示例中,如果 helper
为 null
,则隐式拆箱可能会导致 NullPointerException
。
public int getID() {
return helper == null ? null : helper.getID();
}
如果该方法打算返回 null
,则应将返回类型更改为 Integer
。