java中StringBuffer和StringBuilder

Posted 程序猿一招解

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中StringBuffer和StringBuilder相关的知识,希望对你有一定的参考价值。

StringBuffer

  • StringBuffer是一个容器
  • StringBuffer实现了Serializable,说明可以串行化
  • 在父类中 AbstractStringBuilder 有属性 char[] value,不是 final,该 value 数组存放 字符串内容,引出存放在堆中的

String vs StringBuffer 

  • String:保存的是字符串常量,里面的值是不能修改的,每次String类的更新实际上就是更改地址,效率低
  • String Buffer:保存的是字符串变量,里面的值可以修改,每次StringBuffer更新实际上是更新的内容,不用更新地址,效率高
  • String 和 StringBuffer 之间的转化

public class String_Buffer 
    public static void main(String[] args) 

        //String ---> String Buffer   String转为StringBuffer
        String fun = "hello";
        //方式一 使用构造器
        StringBuilder stringBuilder = new StringBuilder(fun);
        //方式二 使用append
        StringBuilder stringBuilder1 = new StringBuilder();
        stringBuilder1.append(fun);


        //String Buffer ---> String   StringBuffer转为String
        StringBuilder pfc = new StringBuilder("平凡晨");
        //方式一 toString()方法
        String string = pfc.toString();
        //方式二 使用构造器
        String s = new String(pfc);
        System.out.println(s);
    

StringBuilder

  • 一个可变的字符序列。此类提供了与StringBuffer兼容的API
  • StringBuilder是不是线程安全的
  • 此类设计是StringBufer的简易版,用在字符缓冲区被单个线程使用
  • StringBuilder 要比 StringBuffer 快

String、StringBuffer 和 StringBuilder 的比较

 

 

String、StringBuffer 和 StringBuilder 的选择

 

以上是关于java中StringBuffer和StringBuilder的主要内容,如果未能解决你的问题,请参考以下文章

Java常识7.0 StringBuffer的使用

Java之字符串String,StringBuffer,StringBuilder

Java入门系列之StringBuilderStringBuffer

Java入门系列之StringBuilderStringBuffer

stringbuffer 和 stringbuilder区别

stringBuffer详解