我遇到了一个奇怪的问题。我试图比较两个128位字符串,我相信它们的每个字符都相互匹配(我测试过几次比较String.chartAt(#))但是当我做的时候 if(String 1 == String 2) .. 其他 .. 它去了else子句。这是为什么?
答案 0 :(得分:0)
当使用==进行比较时,您正在检查两个变量是否都引用同一个对象(引用比较)。你应该使用字符串equals()方法来比较它们是否相等,它们是由相同的字符组成。
description of equals method in java documentation
public boolean equals(Object anObject)
将此字符串与指定对象进行比较。如果,结果是真的 并且仅当参数不为null并且是String对象时 表示与此对象相同的字符序列。