我在使用System.out.println
直接检查==
运算符来比较字符串引用。我的疑惑是根据"字符串常量池"的规则,两个字符串将引用池中的同一实例,输出结果应该是"true",那么为什么第一次的输出结果是"false"。
以下是样例代码:
String s1 = "abc";
String s2 = "abc";
System.out.println("s1==s2 is:"+ s1==s2);
System.out.println("s1==s2 with brackets is:"+ (s1==s2));
输出结果为:
false
s1==s2 with brackets is:true