在Java中比较两个字符串时出现奇怪的布尔答案

在Java中比较两个字符串时出现奇怪的布尔答案,java,Java,我遇到了一个奇怪的问题。我试图比较两个128位的字符串,我相信它们的每个字符都相互匹配(我测试了比较String.chartAt(#)好几次),但当我这样做时 如果(字符串1==字符串2) .. 其他的 .. 它转到了else条款。为什么呢 使用==进行比较时,检查两个变量是否引用同一个对象(引用比较)。您应该使用strings equals()方法来比较它们在某种意义上是否相等,它们是否由相同的字符组成 公共布尔等于(对象anObject) 将此字符串与指定的对象进行比较。如果 并且仅当参数

我遇到了一个奇怪的问题。我试图比较两个128位的字符串,我相信它们的每个字符都相互匹配(我测试了比较String.chartAt(#)好几次),但当我这样做时 如果(字符串1==字符串2) .. 其他的 ..
它转到了else条款。为什么呢

使用==进行比较时,检查两个变量是否引用同一个对象(引用比较)。您应该使用strings equals()方法来比较它们在某种意义上是否相等,它们是否由相同的字符组成

公共布尔等于(对象anObject)

将此字符串与指定的对象进行比较。如果 并且仅当参数不为null并且是 表示与此对象相同的字符序列


使用String1.equals(string2)奇怪的事情:没有完成解决这个问题所需的5秒研究的新手数量。。。但我更愿意花5分钟在这里写一个问题。然后:回答速度和问题明显重复之间的奇怪关联。