基本介绍
java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删。
很多方法与String相同,但StringBuffer是可变长度的。
StringBuffer是一个容器。
细致一些
- StringBuffer 的直接父类是AbstractStringBuilder
- StringBuffer 实现了Serializable, 即StringBuffer的对 象可以串行化
- 在父类中 AbstractStringBuilder 有属性char[] vaLue,不是final。
该vaLue数组存放字符串内容,存放在堆中
- StringBuffer 是一个final类, 不能被继承
String VS StringBuffer
- String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上是更改地址,效率低;// private final char value[];
- StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新可以更新内容,不用每次更改地址(除非数组空间不够了)// char[] value; 这个在堆中
StringBuffer常用构造器
- 创建一个大小为16的char[]
StringBuffer stringBuffer = new StringBuffer();
- 通过构造器指定char[]大小
StringBuffer stringBuffer = new StringBuffer(100);
- 通过给一个String创建StringBuffer,char[]的大小为str.length() + 16
StringBuffer stringBuffer = new StringBuffer("hello);
String与StringBuffer相互转换

StringBuffer类常见方法

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