CodeQL 文档

无用的空值检查

ID: java/useless-null-check
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - maintainability
   - useless-code
   - external/cwe/cwe-561
Query suites:
   - java-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

有时您可以保证特定变量永远不会为空。例如,当该变量刚刚被分配了一个新创建的对象或被 catch 子句捕获的异常时。对这种变量的空值检查具有误导性,并且可能表明逻辑错误。

建议

如果空值显然不可能,请不要检查变量是否为空。

示例

以下示例显示了对新创建对象的空值检查。通过 new 返回的对象永远不会为空,因此此检查是多余的。

Object o = new Object();
if (o == null) {
  // this cannot happen!
}

参考

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