StringBuffer

基本介绍

java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删。
很多方法与String相同,但StringBuffer是可变长度的。
StringBuffer是一个容器。

细致一些

  1. StringBuffer 的直接父类是AbstractStringBuilder
  2. StringBuffer 实现了Serializable, 即StringBuffer的对 象可以串行化
  3. 在父类中 AbstractStringBuilder 有属性char[] vaLue,不是final。 该vaLue数组存放字符串内容,存放在堆中
  4. StringBuffer 是一个final类, 不能被继承

String VS StringBuffer

  1. String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上是更改地址,效率低;// private final char value[];
  2. StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新可以更新内容,不用每次更改地址(除非数组空间不够了)// char[] value; 这个在堆中

StringBuffer常用构造器

  1. 创建一个大小为16的char[] StringBuffer stringBuffer = new StringBuffer();
  2. 通过构造器指定char[]大小 StringBuffer stringBuffer = new StringBuffer(100);
  3. 通过给一个String创建StringBuffer,char[]的大小为str.length() + 16
    StringBuffer stringBuffer = new StringBuffer("hello);

String与StringBuffer相互转换

alt text

StringBuffer类常见方法

alt text


本文章使用limfx的vscode插件快速发布