在进行字符串拼接的过程中,String,StringBuffer和StringBuilder会出现差异。
String拼接字符串:
String str1="123";
String str2="abc";
String str3=str1+str2;//String可以这样拼接
StringBuffer拼接字符串:
StringBuffer sb=new StringBuffer();//可以添加参数
sb.append("123").append("abc");
StringBuilder拼接字符串:
StringBuilder sb=new StringBuilder();//可以添加参数
sb.append("123").append("abc");
可以看出,StringBuffer和StringBuilder的功能基本相同,区别在于StringBuffer是java早起提供的(JDK1.0),速度慢,线程安全,而StringBuilder是java5以后提供的(JDK5.0),速度快,非线程安全。
其实String拼接字符串的底层就是StringBuilder拼接字符串。例如:
String str3=str1+str2; java实际上是如下运行:
String str3=new StringBuilder(str1).append(str2).toString();
StringBuffer和StringBuilder类中的另外主要方法insert()和delete()这里不说了。