在java中,除了通过String类创建和处理字符串之外,还提供了StringBuffer类来处理字符串,StringBuffer类可以比String类处理字符串更加高效,可以随意更改字符串的内容,也可以删除字符串类的内容,且如果长度不够时StringBuffer会自动扩大内存
参考此地址内容
创建StringBuffer类
StringBuffer提供了三种创建字符串的方法:
- StringBuffer():构造一个空的字符串缓冲区,且初始化长度为16
- StringBuffer(int length):创建一个空的字符串缓冲区,且初始化长度为length
- StringBuffer(String str):创建一个字符串缓冲区,且将其内容初始化为str,字符串缓冲区长度=str.length+16
StringBuffer str1=new StringBuffer();
StringBuffer str2=new StringBuffer(4);
StringBuffer str3=new StringBuffer("这是一次测试");
System.out.println(str1.capacity()); //输出11
System.out.println(str2.capacity());//输出4
System.out.println(str3.capacity());//输出22
StringBuffer的一些方法
追加字符串append()\insert()
- StringBuffer的append()方法是在字符串的末尾增加指定的字符串内容
StringBuffer cs=new StringBuffer("这是测试代码");
StringBuffer cs2=new StringBuffer("这是新添加的代码");
cs.append(cs2);
System.out.println(cs);
- StringBuffer的insert()方法是在字符串的指定位置i追加指定的字符串内容str
StringBuffer 对象.insert(int i,String str);
StringBuffer cs=new StringBuffer("我是一串代码");
String cs1="测试";
cs.insert(4,cs1);
System.out.println(cs); \\输出我是一串测试代码
替换字符串setCharAt()/replace()
- setCharAt()方法用于在字符串的指定索引位置替换一个字符
StringBuffer对象.setCharAt(int index,char ch);
作用:将指定位置的字符更换为新的字符并将新的字符串输出
StringBuffer cs =new StringBuffer("Hello!");
StringBuffer cs2=new StringBuffer("h");
cs.setCharAt(0,cs2);
System.out.println(cs);
- replace():用于将从start位置开始到end位置结束的字符串替换为str的字符串并将新的字符串输出
StringBuffer 对象.replace(int start,int end,String str);
StringBuffer cs=new StringBuffer("我是一串测试代码");
cs.replace(4,6,"新的");
System.out.println(cs); \\输出我是一串新的代码
得到某个位置的字符charAt()
charAt()方法用于得到字符串某个位置上的字符:使用与字符串分割;
StringBuffer对象.charAt(int index)
StringBuffer cs=new StringBuffer("Hello!");
char a []=new char[cs.length()];
for (int i=0;i<cs.length();i++){
a[i]=cs.charAt(i);
System.out.println(a[i]);
}
反转字符串 reverse()
reverse()方法用于将字符串内容进行反转操作
StringBuffer 对象.reverse()
StringBuffer cs=new StringBuffer("我是测试代码");
cs.reverse();
System.out.println(cs);
删除字符串 deleteCharAt()/delete()
- deleteCharAt()方法:删除指定位置的字符,然后剩余的内容形成一个新的字符串
StringBuffer cs =new StringBuffer("abc");
cs.deleteCharAt(2);
System.out.println(cs);//输出ab
- delete()方法:删除从start开始到end结束的位置的一串字符
StringBuffer 对象.delete(int start,int end);
StringBuffer cs=new StringBuffer("我是一串测试代码");
cs.delete(4,6);
System.out.println(cs) //输出我是一串代码