public class Test1 {
    public static void main(String[] args) {
        String s1 = "ab" + "c";
        String s2 = "abc";              
        System.out.println(s1 == s2 + " : " + s1.equals(s2));
   }
}

只输出false

涉及Java 运算符的优先级的问题:


单目:单目运算符+ –(负数) ++ -- 等 
乘除:算数单目运算符* / % + - 
为:位移单目运算符<< >> 
关系:关系单目运算符> < >= <= == != 
逻辑:逻辑单目运算符&& || & | ^ 
三目:三目单目运算符A > B ? X : Y 
后:无意义,仅仅为了凑字数 
赋值:赋值=

助记口诀:

    单目乘除为关系,逻辑三目后赋值。