JD.EQ.UTC
当使用 equals 方法比较类型不兼容的对象时,出现 JD.EQ.UTC。如果对象没有任何共同的类或接口,则视为对象类型不兼容。
漏洞与风险
也许是一种错误。例如,比较字符串和文件对象可能需要的是 file.getPath().equals("")。
缓解与预防
修复 equals 参数,使类型相兼容。可能需要调用其他函数以检索正确类型的对象进行比较。
示例 1
复制
public boolean checkFile(File file) {
if (file==null || file.equals("")) return false;
// ...
return true;
}
针对第 12 行的 equals 调用报告 JD.EQ.UTC:对于不兼容的类型“java.io.File”和“java.lang.String”调用 equals。