public class StringTest {
public static void main(String[] args) {
String str1 = "abc";
String str2 = new String("abc");
String str3 = "ab";
String str4 = "c";
//String——>StringBuilder,调用append()
//StringBuilder——>String:toString()
//toString中有new String()
String str5 = str3+str4;
String str6 = str3+str4;
String str7 = str3+"c";
String str8 = "ab"+"c";
/*
* String类中只要有变量的加法运算,编译器都会将其优化为StringBuilder
* 而后调用Aappend方法进行字符串拼接,而后调用toString()转为String(内部使用new String)
* public String toString() {
return new String(value, 0, count);
}
* */
System.out.println(str1==str2);//F
System.out.println(str1==str5);//F
System.out.println(str1==str6);//F
System.out.println(str1==str7);//F
System.out.println(str1==str8);//T
}
}