gpt4 book ai didi

java - 为什么 System.out.println ("hey s1==s2:"+s1==s2);打印 "false"作为输出而不是打印 "hey s1==s2:false"

转载 作者:搜寻专家 更新时间:2023-11-01 01:07:54 24 4
gpt4 key购买 nike

我写了下面的java代码:

String s1 = new String("shan");
String s2 = new String("shan");
String s3="shan";
String s4="shan";
System.out.println("hey s1==s2:"+s1==s2);
System.out.println("s3==s4:"+s3==s4);
System.out.println("s1.equals(s2): "+s1.equals(s2));
System.out.println("s3.equals(s4): "+s3.equals(s4));
System.out.println("s1==s3: "+s1==s3);
System.out.println("s1.equals(s3): "+s1.equals(s3));
System.out.println("hey s1==s2:"+true);

输出:

false
false
s1.equals(s2): true
s3.equals(s4): true
false
s1.equals(s3): true
hey s1==s2:true

为什么第 5 行的输出结果只是“false”而不是“hey s1==s2:false”?

最佳答案

Line5: System.out.println("hey s1==s2:"+s1==s2);

由于运算符优先级 "hey s1==s2:"+s1 首先解析,然后与 s2 进行比较,这导致错误。

给予最高优先级以解决它以更正。括号的优先级最高。

System.out.println("hey s1==s2:"+(s1==s2));

关于java - 为什么 System.out.println ("hey s1==s2:"+s1==s2);打印 "false"作为输出而不是打印 "hey s1==s2:false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26603035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com