CodeQL 文档

无用类型测试

ID: java/useless-type-test
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - maintainability
   - language-features
   - external/cwe/cwe-561
Query suites:
   - java-security-and-quality.qls

单击以在 CodeQL 代码库中查看查询

对于任何类型 B,派生自 B 的类型的实例始终也是 B 的实例。无需显式测试此关系是否存在。

建议

删除不必要的类型测试以简化代码。

示例

以下示例显示了一个不必要的类型测试。

public class UselessTypeTest {
	private static class B {}
	private static class D extends B {}

	public static void main(String[] args) {
		D d = new D();
		if(d instanceof B) {	// violation
			System.out.println("Mon dieu, d is a B!");
		}
	}
}
  • ©GitHub, Inc.
  • 条款
  • 隐私