@Test
public void test3() {
String s1 = "java";
String s2 = "EE";
String s3 = "javaEE";
String s4 = "java" + "EE";//s4指向常量池地址值
String s5 = "java" + s2;//s5指向堆的地址值
String s6 = s1 + s2;//s6指向堆的地址值
String s7= (s1+s2).intern();//s7指向常量的地址值
System.out.println(s3 == s4);//true
System.out.println(s3 == s5);//false
System.out.println(s3 == s6);//false
System.out.println(s5 == s6);//false
System.out.println(s3 == s7);//true
}
运行结果
分析: