CodeQL 文档

解除引用的表达式可能为 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

单击以在 CodeQL 存储库中查看查询

解除引用 null 值会导致 NullPointerException

如果表达式的类型是装箱基本类型,并且它出现在发生隐式拆箱的上下文中,则该表达式可能会被隐式解除引用。

建议

确保在解除引用时表达式没有 null 值。适当地使用装箱类型来保存可能为 null 的值。

示例

在以下示例中,如果 helpernull,则隐式拆箱可能会导致 NullPointerException

public int getID() {
    return helper == null ? null : helper.getID();
}

如果该方法打算返回 null,则应将返回类型更改为 Integer

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私