为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

catspeake 2021-05-06 14:38:44
你能解释一下为什么输出是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));


查看完整回答
反对 回复 2021-05-26
  • 1 回答
  • 0 关注
  • 220 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信