字符串比较:equalsIgnoreCase 失败但 == 通过

String comparison: equalsIgnoreCase is failing but == is passing

我试过了:

String test = "racecary";

StringBuilder stringBuilder = new StringBuilder(test);
System.out.println(stringBuilder.reverse()+" -------------");
if (stringBuilder.reverse().toString().equalsIgnoreCase(test)) {
    System.out.println("Pass");
}else {
    System.out.println("Fail");
}

它总是打印 pass,即使我拼错了 racecar,但是当我使用 == 代替 .equalsIgnoreCase 时通过了。

我做错了什么吗? 我已经通过以下但没有得到答案。

JAVA .equalsIgnoreCase not working

JAVA .equalsIgnoreCase not working

StringBuilder.reverse() 就地修改构建器。测试打印输出导致字符串被反转两次,使其保持不变。摆脱打印输出,代码将按预期工作。