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