浅谈String/StringBuffer/StringBuilder字符串的拼接

一、String类型的拼接  

     String str="爱我还是他";
        str.concat("我已看不到我们的好");  
        System.out.println(str);    //"爱我还是他"

  String的concat方法只会返回拼接括号内数据后的字符串,但是这个String类型的本身并不受影响。

     String str="爱我还是他";
        str=str+",我已看不到我们的好";
        System.out.println(str);    //“爱我还是他,我已看不到我们的好”

  这里的拼接符不能所在的表达式不能单独存在,必须有赋值操作。

二、StringBuffer类型的拼接  

     StringBuffer sb=new StringBuffer("爱我还是他");
        sb.append("。");
        System.out.println(sb.toString());  //“爱我还是他。”
        sb.insert(0, "你都已看不到我们的好,");    //这里前一个参数是插入的下标,后一个参数是插入的数据
        System.out.println(sb.toString());  //“你都已看不到我们的好,爱我还是他。”

   可以看到,只要运用的append或insert方法,那么StringBuffer本身的值就会改变,而不用重新赋值。

三、StringBuilder类型的拼接

     StringBuilder sb=new StringBuilder("爱我还是他");
        sb.append("。");
        System.out.println(sb.toString());
        sb.insert(0, "你都已看不到我们的好,");
        System.out.println(sb.toString());

  StringBuilder比StringBuffer运行速度要快,因为StringBuilder是针对于单线程的,所这它是非线程安全的。普通情况下建议使用StringBuilder。

(个人学习笔记,有错请说。谢谢!)

原文地址:https://www.cnblogs.com/qneverever/p/4425441.html