StringBuffer 为 AbstractStringBuilder 的子类,该类在方法上使用了 synchronized 关键字对操作加锁,线程安全。
类定义
StringBuffer 是线程安全的可变字符串序列,不可继承。
接口
该类实现了两个接口:
- CharSequence : 包含 length() , charAt(int) , subSequence(int,int),toString() ;表示char值的一个可读序列
- Serializable : 标识序列化
构造器
使用无参构造器 内部容量默认为16。 使用 int 指定容量,内部初始容量为指定值。 使用 String字符串序列构造时,初始容量为字符串长度+16.
属性
transient char[] toStringCache;
在包含父类属性的同时,增加了一个 transient 修饰的 char[],该属性用于缓存 最近一次的 toString() 结果。
方法
大部分方法操作都与父类相同,不同之处在于加了锁用于线程同步、在修改字符串时将内部的 toStringCache 清空。