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

时间:2017-04-21 03:15:01

标签: java

我遇到了一个奇怪的问题。我试图比较两个128位字符串,我相信它们的每个字符都相互匹配(我测试过几次比较String.chartAt(#))但是当我做的时候 if(String 1 == String 2) .. 其他 .. 它去了else子句。这是为什么?

1 个答案:

答案 0 :(得分:0)

当使用==进行比较时,您正在检查两个变量是否都引用同一个对象(引用比较)。你应该使用字符串equals()方法来比较它们是否相等,它们是由相同的字符组成。

description of equals method in java documentation

  

public boolean equals(Object anObject)

     

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