1.添加功能-append和insert
public StringBuffer append();
可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str);
在指定位置把任意的数据,插入到字符缓冲区里面,并返回缓冲区本身
stringbuffer是字符串缓冲区,当new的时候在堆内存中创建了一个对象,底层是一个长度为16的字符数组
当调用添加方法时,重新创建对象,不断的向原缓冲去添加字符
public class Demo2_StringBuffer {
public static void main(String[] args) {
Demo1();
Demo2();
}
private static void Demo2() {
StringBuffer s1=new StringBuffer("1234");
s1.insert(3,"heima");//在指定位置添加元素,如果没有指定位置的索引,就会报索引越界异常
System.out.println(s1);
}
private static void Demo1() {
StringBuffer s1=new StringBuffer();
StringBuffer s2=s1.append(true);
StringBuffer s3=s1.append("roadtest");
StringBuffer s4=s1.append(100);
System.out.println(s1.toString());//如果什么都不加,返回为空,因为StringBuffer重写了tostring方法
System.out.println(s2.toString());
System.out.println(s3.toString());
System.out.println(s4.toString());
}
}
2.删除功能-deleteCharAt和delete
StringBuffer的删除功能
* public StringBuffer deleteCharAt(int index):
* 删除指定位置的字符,并返回本身
* public StringBuffer delete(int start,int end):
* 删除从指定位置开始指定位置结束的内容,并返回本身
public class Demo1_StringBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb1=new StringBuffer();
sb1.append("roadtest");
sb1.deleteCharAt(5);//根据索引删除掉索引位置上对应的字符
System.out.println(sb1);
StringBuffer sb2=new StringBuffer();
sb2.append("roadtest");
sb2.delete(0, 2);//根据区间删除对应的字符,左闭右开
// sb2.delete(0, sb2.length());//清空缓冲区
System.out.println(sb2);
}
}
3.替换和反转功能-replace和reverse
* A:StringBuffer的替换功能
* public StringBuffer replace(int start,int end,String str):
* 从start开始到end用str替换
* B:StringBuffer的反转功能
* public StringBuffer reverse():
* 字符串反转
public class Demo2_StringBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb=new StringBuffer("roadtest");
sb.replace(0, 4, "test");//把road替换成test
System.out.println(sb);
sb.reverse();//字符串反转
System.out.println(sb);
}
}
4.StringBuffer截取功能
* A:StringBuffer的截取功能
* public String substring(int start):
* 从指定位置截取到末尾
* public String substring(int start,int end):
* 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
* B:注意事项
* 注意:返回值类型不再是StringBuffer本身
public class Demo3_StringBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb1=new StringBuffer("roadtest");
String sb2=sb1.substring(0, 4);
System.out.println(sb2);
StringBuffer sb3=new StringBuffer("roadtest");
String sb4=sb3.substring(4);//结尾不写,默认到最后一个索引位置
System.out.println(sb4);
}
}