在Veracode静态扫描之后,会出现“在字符串比较中使用错误的运算符(CWE ID 597)”的警告
以下代码:
if (uid != null && uid != "") {
// LOG.info("Inside deleteUser of Active directory");
// HearsayLogger.message(HearsayLogger.TYPE_INFO, CLASSNAME, METHODNAME, "Inside deleteUser of Active directory");
}
如何修复警告?
答案 0 :(得分:1)
如错误消息中所述,这意味着错误的运算符用于字符串比较!
CWE-597为您提供有关错误和操作的更多信息。所有Veracode警告都有类似的页面,可以解释发生了什么以及为什么。
为此 - 我认为你应该使用:
if (uid != null && !uid.equals(""))
原因:“对于Java对象,例如String对象,”==“和”!=“运算符比较对象引用,而不是对象值。”