Vis*_*yan -1 java string operator-precedence
我无法弄清楚以下行为,
String str1= "abc";
String str2 = "abc";
System.out.println("str1==str2 "+ str1==str2);
System.out.println("str1==str2 " + (str1==str2))
Run Code Online (Sandbox Code Playgroud)
上述声明的输出如下:
假
str1 == str2 true
为什么会这样?为什么输出不是如下:
str1 == str2 true
str1 == str2 true
+优先级高于==.
所以你的代码:
System.out.println("str1==str2 " + str1 == str2);
Run Code Online (Sandbox Code Playgroud)
会有效的
System.out.println(("str1==str2 "+str1) == str2);
Run Code Online (Sandbox Code Playgroud)
所以,你明白了false.
在案例-2中
System.out.println("str1==str2 " + (str1==str2));
Run Code Online (Sandbox Code Playgroud)
你用大括号明确地比较str1与str2(这是true),然后附加价值.
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |