请考虑以下代码:
String s = "Dear"; String s1 = "My"+ s; String s2 = "MyDear"; String s3 = "My"+"Dear";
这里s1和s3是由字符串常量表达式创建的。
System.out.println(“s2 == s3 is”+(s2 == s3)); //真
结果为true,因为s2和s3都指向相同的实例String对象但是
System.out.println(“s1 == s2 is”+(s1 == s2)); //假
出来了。为什么呢?
答案 0 :(得分:4)
s1不是由常量表达式创建的。 s3是。