1,String底层是final char[]实现的
String s1 = “abc”;
s1 = “abc” + “qwe”;
在方法区新创建一个"abcqwe"
3,常量与常量的拼接结果在常量池。且常量池中不会存在相同内容的常量。
String s = “javaEEhadoop”,s1 = “javaEE” + “hadoop”;
s == s1; //true
4,只要其中有一个是变量,结果就在堆中。(相当于new一个对象)
String s = “javaEE”,s1 = s + “hadoop”;
s == s1; //false
5,如果拼接的结果调用intern()方法,返回值就在常量池中。
String s = “javaEE”,s1 = s + “hadoop”;
s1.intern();
s == s1; //true