你能解釋一下為什么輸出是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貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
它打印,因?yàn)橄鄬?duì)優(yōu)先級(jí)的錯(cuò)誤+
和==
。+
具有更高的優(yōu)先級(jí),因此它等效于:
System.out.println((s1+ " "+ s2 +" "+ s1)==s2);
因此to的參數(shù)System.out.println
是布爾值,而不是字符串。
添加括號(hào):
System.out.println(s1+ " "+ s2 +" "+ (s1==s2));
添加回答
舉報(bào)
0/150
提交
取消