Java字符串拼接"+"
当字符串之间使用 + 号拼接的时候,系统底层会自动创建一个StringBuilder对象,然后再调用其append方法完成拼接,拼接后,再调用其toString方法转换为String类型.
JDK API文档也有说明:
Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 StringBuilder(或StringBuffer)类及其 append 方法实现的。字符串转换是通过 toString 方法实现的.
但是,当拼接的对象全是字符串常量时,由于存在常量优化机制,被拼接的字符串全体会被当成一个整体看待.
String s1 = "a" + "b" + "c";
String s2 = "abc";
System.out.println(s1 == s2); //true