StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容是可以改变的。
对于StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象实例化,必须通过构造方法完成。
![be0fece3f219c2098ab5509a35f1a683.png](https://i-blog.csdnimg.cn/blog_migrate/d54f786a8565289c9ec30259836108b3.jpeg)
StringBuffer对象的初始化
StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。
StringBuffer s = new StringBuffer();
这样初始化出的StringBuffer对象是一个空的对象。如果需要创建带有内容的StringBuffer对象,则可以使用:
StringBuffer s = new StringBuffer("abc");
这样初始化出的StringBuffer对象的内容就是字符串”abc”。
需要注意的是,StringBuffer和String属于不同的类型,也不能直接进行强制类型转换。
StringBuffer的方法
接下来解释几个比较常用的StringBuffer的方法。
append( );
public StringBuffer append(boolean b)
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变。
![82484650e70266ed9fb0715be7dbb55c.png](https://i-blog.csdnimg.cn/blog_migrate/4173ba280ae0a5733c6825d13f75becb.jpeg)
deleteCharAt( );
public StringBuffer deleteCharAt(int index)
该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。
![a107636fa1901a41608fb3c367f4b573.png](https://i-blog.csdnimg.cn/blog_migrate/e84ce431ff54db0ea6a38247b5481274.jpeg)
insert( );
public StringBuffer insert(int offset, boolean b)
该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。
![6b26382b96d58ea04ada79b91e01f8bc.png](https://i-blog.csdnimg.cn/blog_migrate/8ba631132030060eaf06c5db9bd35171.jpeg)
reverse( );
public StringBuffer reverse()
该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。
![d447ce1a39c1250546438749f52b1b30.png](https://i-blog.csdnimg.cn/blog_migrate/3bf6612e5e971b34b554e7f842895fa3.jpeg)
setCharAt( );
public void setCharAt(int index, char ch)
该方法的作用是修改对象中索引值为index位置的字符为新的字符ch。
![b60db316bed2ed90c8004fc9f38d4e05.png](https://i-blog.csdnimg.cn/blog_migrate/84984d574c310315296edb50315003c5.jpeg)
Java、大数据、架构、人工智能.