StringBuffer类提供了很多友好的方法,适合应用于有大量字符串拼接、删除的场景,尤其是多线程下的字符串的拼接、删除与读写。 与之相似的一个类是StringBuilder,这个类提供了StringBuffer所有的功能,但是是线程不安全的,在单线程的场景中,它的性能要优于StringBuffer。
public class MyStringBuffer {
public static void main(String[] args) {
//构造函数:可以空参构造,也可以用String、CharSequence来构造
//public StringBuffer(int capacity) capacity默认为16,如果用int来构造可以自己设置默认的capacity。
StringBuffer sbuffer = new StringBuffer("Hello");
//appen():不需要创建新对象,直接返回append后的StringBuffer对象。
sbuffer.append(" World !");
System.out.println(sbuffer);
//reverse():翻转StringBuffer对象并返回。
sbuffer.reverse();
System.out.println(sbuffer);
//replace():用于替换指定位置的内容,如果start和end相同,效果等同于insert()。
sbuffer.replace(0, 1, "~");
sbuffer.reverse();
System.out.println(sbuffer);
//insert():在指定位置插入(char、String、int、folat、boolean等)。
//length():返回StringBuffer的长度。
sbuffer.insert(sbuffer.length(), " !");
System.out.println(sbuffer);
//delete():删除指定位置区间的字符。
sbuffer.delete(sbuffer.length()-1, sbuffer.length());
System.out.println(sbuffer);
}
}
输出结果如下:
Hello World !
! dlroW olleH
Hello World ~
Hello World ~ !
Hello World ~