为方便大家理解请先思考这个表达式计算结果是什么?
是 false
还是 s1 == s2 is:true
呢?
public class Test {
public static void main(String[] args) {
String s1 = "i code";
String s2 = "i code";
System.out.println("s1 == s2 is:" + s1 == s2);
}
}
没错!结果的是 false。
有部分同学会误以为先执行 s1 == s2 的逻辑判断,但是因为在 Java 中 + 操作符的优先级大于 == ,所以程序会先去执行 + 操作符,即
"s1 == s2 is:" + s1
然后表达式就是变成
"s1 == s2 is:i code" == s2
显然该表达式计算结果为 false。