一、构造方法
- public StringBuffer();无参构造方法
StringBuffer s1=new StringBuffer();
System.out.println(s1);//不会有东西打印出来,说明StringBuffer没有创建对象
System.out.println(s1.capacity());//默认是16
System.out.println(s1.length());//0
- public StringBuffer(int capacity):指容量的的字符串缓冲区对象
StringBuffer s2=new StringBuffer(50);
System.out.println(s2);//不会有东西打印出来,说明StringBuffer没有创建对象
System.out.println(s2.capacity());//已经设定了容量为50的缓冲区大小
System.out.println(s2.length());//0
- public StringBuffer(String str);指字符串内容的字符串缓冲区对象
StringBuffer s3=new StringBuffer("hello");
System.out.println(s3);//hello
System.out.println(s3.capacity());//21,默认长度为16,加上字符串的长度5,就变成了21
System.out.println(s3.length());//5
二、成员方法
-
添加功能
public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身 public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插入到数据缓冲区里面,并返回字符串缓冲区本身
//创建字符串缓冲区对象
StringBuffer s1=new StringBuffer();
StringBuffer s2=s1.append("hello");
System.out.println(s1);
System.out.println(s2);
System.out.println(s1==s2);
s1.append("java");
s1.append(true);
s1.append(1.23244);
s1.insert(4,"hello");
//链式编程
s2.append("java").append(true).append(1.2344);
System.out.println(s1);
System.out.println(s2);
-
删除功能
public StringBuffer deleteCharAt():删除指定位置的字符,并返回本身 public StringBuffer delete(int start,int end):删除从指定位置到开始指定位置结束的内容,并返回本身。【包含start,不包含end】
StringBuffer s1=new StringBuffer();
s1.append("hello").append("world").append("java");
System.out.println(s1);//helloworldjava
s1.deleteCharAt(2);
System.out.println(s1);//heloworldjava
StringBuffer s1=new StringBuffer();
s1.append("hello").append("world").append("java");
System.out.println(s1);//helloworldjava
s1.delete(5,10);
System.out.println(s1);//hellojava
删除StringBuffer s1的数据:s1.delete(0,s1.length());
-
替换功能
public StringBuffer replace(int start,int end,String str):从start到end,用str字符串替换
StringBuffer s1=new StringBuffer();
s1.append("hello").append("world").append("java");
System.out.println(s1);//helloworldjava
s1.replace(5, 10, "节日快乐");
System.out.println(s1);//hellojava
-
反转功能
public StringBuffer reverse();
StringBuffer s1=new StringBuffer();
s1.append("hello");
System.out.println("s1:"+s1);//hello
StringBuffer s2=s1.reverse();
System.out.println("s1:"+s1);//olleh,s1会随着s2的改变而改变
System.out.println("s2:"+s2);//olleh
-
截取功能
public String substring(int start);//返回值是string public String substring(int start,int end);//返回值是string
StringBuffer s1=new StringBuffer();
s1.append("hello").append("world").append("java");
String s=s1.substring(5);
System.out.println("s:"+s);
System.out.println("s1:"+s1);//s1是不会变得,因为他的返回值类型为String,s1的类型为StringBuffer