字符串缓冲区对象
缓冲区:看成是容器,大小可以伸缩
字符串缓冲区:在缓冲区中可以操作任意类型,最终得到一个唯一的字符串对象:
StringBuffer(安全,效率低) 、StringBuilder(不安全,效率高)
特点:final类,可变的字符序列。底层实现原理还是依赖字符数组,这个数组被私有化。
该类中有重载的append和insert方法,可以操作任意类型,最终得到字符串。
构造方法:
new StringBuilder():初始容量为16
new StringBuilder(int capacity):
构造一个不带任何字符的字符串生成器,其初始容量由 capacity 参数指定。
new StringBuilder(String str):构造一个字符串生成器,并初始化为指定的字符串内容
方法:增删改查
增:StringBuilder append(data) : 将任意类型的data数据追加到原有数据的末尾
StringBuilder insert(int index, data):在index处,插入data数据
删: delete(int start ,int end) :删除指定区间字符,左闭右开区间
deleteCharAt(int index) :删除index处的字符
查:length(): 获取字符的长度
capacity(): 获取容量
改:replace(start,end, str) :将指定区间的内容替换为str
reverse(): 反转字符串
StringBuilder和String作为方法的参数时:
String作为参数时,对原来的变量没有影响。引用的指向发生了变化。
StringBuilder作为参数时,如果是同一引用,对原来变量可能有影响。如果不是同一对象,对象原来的变量没有影响。