StringBuffer的删除功能:
StringBuffer sb = new StringBuffer();
sb.deleteCharAt(5); //当缓冲区中索引上没有元素时就会报StringIndexOutOfBoundsException
sb.append("heima");
//根据索引删掉索引位置上对应的字符
sb.deleteCharAt(4);
//删除的时候是包含头,不包含尾
sb.delete( 0, 2 );
//清空缓存区
sb.delete( 0 , sb.length () );
//不能用这种方式清空缓存区,会使原来的变成垃圾,浪费内存
sb = new StringBuffer ();
StringBuffer的添加功能:
可以把任意类型数据添加到字符串缓冲区里,并返回字符串缓冲区本身
public StringBuffer append ( String str )
在指定位置把任意类型的数据插入到字符串缓冲区里,并返回字符串缓冲区本身
public StringBuffer insert ( int offset,String str )
code :
![](https://i-blog.csdnimg.cn/blog_migrate/e7323b6f62ce1bd4050425aedd61c5b2.png)
StringBuffer是字符串缓冲区,当new的时候是在堆内存创建了一个对象,底层是一个长度为16的字符数组,当调用添加的方法时,不会再重新创建对象,而是不断地向原缓冲区添加字符
2.
![](https://i-blog.csdnimg.cn/blog_migrate/ae8fd96793edce40e86e7a031a2db0e4.png)
StringBuffer类中重写了toString方法,显示的是对象中的属性值
3.
![](https://i-blog.csdnimg.cn/blog_migrate/930c1df05cde0918b7c75b8d1a9a2ac3.png)
注意:
当字符串缓冲区内容弄为空时,不能直接从不是0的索引值开始,会报错;
4.
![](https://i-blog.csdnimg.cn/blog_migrate/c0d800a3fb331d695f80d1fc1e74a03d.png)
注意:索引值为插入位置的索引,后面的字符顺延