StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容是可以改变的。
对于StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象实例化,必须通过构造方法完成。
![e038fcc5040143808cd7e340665bc05f.png](https://i-blog.csdnimg.cn/blog_migrate/0e75428bfd8b1a457983f332574491c5.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对象的内容也发生改变。
![692e2360f31f83a3d891c1e7548debc3.png](https://i-blog.csdnimg.cn/blog_migrate/a4176eb921a7957f6b8b16f4598e86ba.jpeg)
deleteCharAt( );
public StringBuffer deleteCharAt(int index)
该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。
![ec9b3cc7a39c3fb661b9627b430067c6.png](https://i-blog.csdnimg.cn/blog_migrate/209b391d28d020abf9f34e813c46fd06.jpeg)
insert( );
public StringBuffer insert(int offset, boolean b)
该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。
![8cc8d45b33d460a3116b3f9dbc0e4262.png](https://i-blog.csdnimg.cn/blog_migrate/d0ba2d684eb0dc74ae86f054b10c8cae.jpeg)
reverse( );
public StringBuffer reverse()
该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。
![5d27add97afdf83e2a389297ccd2b785.png](https://i-blog.csdnimg.cn/blog_migrate/ca7032a94860eacd71b8f09b39f93a4e.jpeg)
setCharAt( );
public void setCharAt(int index, char ch)
该方法的作用是修改对象中索引值为index位置的字符为新的字符ch。
![c7da63cd921ac3943969fb2e615f7fea.png](https://i-blog.csdnimg.cn/blog_migrate/a186c8b20fb6185d07001c2e91b57f83.jpeg)
Java、大数据、架构、人工智能.