StringBuffer类与String有许多的相似之处,但是其内部的实现却有很大的差别。StringBuffer类实际上是封装的一个字符数组,同时提供了对这个字符数组的相关操作。
public class TestStringBuffer {
public static void main(String[] args) {
String a = "Java";
StringBuffer buf = new StringBuffer(a);
buf.append(" Guide Ver1");//附加
buf.append(3);
System.out.println(buf.toString());
int index = 5;
buf.insert(index,"Student ");//插入
index = 23;
buf.setCharAt(index,'.');//替换设置新的字符
int start = 24;
int end = 25;
buf.replace(start,end,"4");
System.out.println(buf.toString());
buf.reverse();//反遍历
System.out.print(buf.toString());
}
StringBuffer类不像String类那样为了线程访问安全创建大量的副本对象。因此,如果是一段需要在一个字符串上进行操作的代码,推荐使用StringBuffer类提高性能。如果不考虑性能,可以全部选择String类进行操作。