当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类
字符串 的内容一旦创建,则不允许改变,如果一旦改变,则会创建一个新的字符串对象。
字符串的内容一般不会随意的修改,因为每修改一次都会创建一个新的字符串对象。
如果需要修改字符串的内容:建议使用字符串缓冲区类。
StringBuffer(字符串缓冲区类): 存储字符的集合容器。
笔试题: 使用Stringbuffer无参的构造方法默认的初始化容量是多少? 当容量不够用时会自动增长多少?
StringBuffer的底层是维护了一个字符数组,存储字符的时候实际上是往该字符数组中存储 的,
而字符数组的初始化容量是16, 当容量不够使用时,自动增长1倍。
StringBuffer常用的方法:
增
StringBuffer(“jack”)
在创建对象的时候赋值
append()
在缓冲区的尾部添加新的文本对象
insert()
在指定的下标位置添加新的文本对象
删
delete(int start, int end)
deleteCharAt(int index)
查
toString()
返回这个容器的字符串
indexOf(String str)
返回第一次出现的指定子字符串在该字符串中的索引。
substring(int start)
从开始的位置开始截取字符串
改
replace(int start int endString str)
使用给定 String 中的字符替换此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符
setCharAt(int index char ch)
指定索引位置替换一个字符
什么时候才使用字符串缓冲区类?
如果一个字符串的内容需要频繁修改的时候,这时候我们则需要使用字符串缓冲区类。
总结
以上就是本文关于java之StringBuffer常见使用方法解析的全部内容,希望对大家有所帮助。
原文链接:https://www.2cto.com/kf/201711/698866.html