Java自学笔记—StringBuffer
特点
可变字符序列
直接父类AbstractStringBuilder,有char[] value;不是final
value数组存放字符串,不是final,因此存在堆中
实现了Serializable 接口,可以串行化
String中value指向常量池,为final类型,每次更新内容都要更新地址,即创建新对象
Stringbuffer中value指向堆,没有final修饰,不用每次更新地址(有缓冲扩容机制),效率高
构造器
空参构造器默认有16个字符的缓冲区
/**
* @author Lspero
* @version 1.0
*/
public class Stringbuffer012 {
public static void main(String[] args) {
//构造器
//无参构造器,创建一个大小为16的char[ ]
StringBuffer stringBuffer = new StringBuffer();
// 自定义char[]的大小
StringBuffer stringBuffer1 = new StringBuffer(128);
//利用一个String创建StringBuffer,char[]大小为String.length() + 16
StringBuffer hello = new StringBuffer("hello"