System.out.println(); 用==运算符打印false

你能解释一下为什么输出是


false

代替


abcd abc false

代码:


public class StringDemo{

    public static void main(String [] args){

        String s1 = "abc";

        String s2 = s1;

        s1+="d";

        System.out.println(s1+ " "+ s2 +" "+ s1==s2); //false

    }

}   


catspeake
浏览 226回答 1
1回答

MMTTMM

它打印,因为相对优先级的错误+和==。+具有更高的优先级,因此它等效于:System.out.println((s1+ " "+ s2 +" "+ s1)==s2);因此to的参数System.out.println是布尔值,而不是字符串。添加括号:System.out.println(s1+ " "+ s2 +" "+ (s1==s2));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java