StringBuffer类

StringBuffer是线程安全的可变字符序列,一个类似于String的字符串缓冲区。前面介绍的String创建的字符串对象是不可以修改的,而StringBuffer类创造的是可修改的字符串序列,且实体容量会随着存放的字符串增加而自动增加。String类虽然提高了很多API方法,但始终是对字符串常量进行操作,不仅无法修改常量的值,还会占用大量的内存空间。而StringBuffer则是一个非常灵活的工具,节约内存空间的同时,还保障了线程安全。
image.png
下面介绍StringBufffer常用的方法:

增加字符串的方法

语法:str.append(String add)
image.png

修改指定引索处的字符

语法:str.setCharAt(int index,char c)
image.png
image.png

插入字符串

语法:str.insert(int index,char c)
说明:插入的字符c是插入在index的前面而不是其后面。
image.png

字符串的反序

语法:str.reverse()
image.png

删除子字符串

语法:str.delete(int start,int end)
说明:从start处(包括start)开始删除,一直删到end处之前(即不包括end),即删除的子字符串是str的[start,end)的字符串。
image.png

与String类似的方法

image.png

StringBuilder类

StringBuilder类和StringBuffer类是兼容的,所以二者的使用方法是相同的,这里对其使用方法不再做介绍。但是它是线程不安全的,只能单线程使用,但运行效率要远高于StringBuffer。

String、StringBuffer、StringBuilder之间的不同

image.png
image.png
image.png

String、StringBuffer、StringBuilder之间的转化

image.png