我有什么,
假设我正在创建两个如下所示的对象,
String s1 = "abc";
String s2 = s1;
System.out.println("== comparison "+ s1==s2);
我期望输出是
== comparison true
但我明白了
false
问题是什么?
我没有得到预期的输出。
问题 为什么它与预期的输出不匹配。
请回复并解释为什么会这样。
提前致谢 托菲克·汗
最佳答案
+
运算符的优先级高于 ==
。
因此,您可以将 "== Comparison "+ s1
的串联与 s2
进行比较。由于字符串是不可变的,因此会创建一个包含 "== Comparison abc"
的新字符串实例,并且该实例永远不能与 s2
相同,因为 s2
仍然引用 "abc"
。
用这个代替
"== comparison " + (s1 == s2)
关于java - 在java字符串中得到错误的输出,并且==符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991495/