你能解釋一下為什么輸出是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 }}
1 回答

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
它打印,因為相對優先級的錯誤+
和==
。+
具有更高的優先級,因此它等效于:
System.out.println((s1+ " "+ s2 +" "+ s1)==s2);
因此to的參數System.out.println
是布爾值,而不是字符串。
添加括號:
System.out.println(s1+ " "+ s2 +" "+ (s1==s2));
添加回答
舉報
0/150
提交
取消