String,StringBuffer和StringBuilder在拼接字符串时的区别

在进行字符串拼接的过程中,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()这里不说了。

你可能感兴趣的:(字符串拼接)