java - 在字符串比较中使用 == 而不是 equals 不会被 Sonar 捕获
问题描述
我有以下代码:
String s1 = "a";
String s2 = "a";
if (s1 == s2) {
System.out.println("string not equal");
}
当我使用 SonarLint 分析此代码时,它不会被它捕获。我希望这应该被以下规则抓住
squid:S1698-"==" 和 "!=" 当 "equals" 被覆盖时不应该使用
我在 Sonar Qube 7.0 的独立模式和连接模式下都检查了这一点。有人知道为什么声纳会这样吗?
- - - - - - - -编辑 - - - - - - - - -
同样的情况也发生在:
Integer x= 500;
Integer y= 500;
if (x==y){
System.out.println("not equal");
}
解决方案
推荐阅读
- bash - 将一个文件中的数字替换为另一个文件中的数字
- javascript - 如何将字符串转换为 json 对象
- android - RecyclerView 的 SearchView 不起作用
- javascript - WARNING in Invalid background value at Ignoring。在角
- qt - 迭代 ButtonGroup QML 中的按钮
- android - 何时使用 System.exit(0) 和 System.exit(2)?
- php - phpMyAdmin 生成随机 CSRF 令牌失败!Windows 上的 phpMyAdmin 4.6.6
- javascript - 从第二个下拉列表中隐藏第一个下拉列表中选定的文本
- powerapps - PowerApps 表单中的千位分隔符
- c++ - 如何使用 << 运算符将元素添加到向量中?