public class UseMethodOfStringBuffer {
/**
* @StringBuffer
* author victor
*/
public static void main(String[] args) {
// StringBuffer的四个构造函数
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer(5);
String str = "abcde";
StringBuffer sb3 = new StringBuffer(str);
StringBuffer sb4 = new StringBuffer("abcde");
//length方法获得对象的当前长度,capacity获得已分配容量
System.out.println(sb1.capacity()+" "+sb1.length());//默认构造函数预留16个字符的空间
System.out.println(sb2.capacity()+" "+sb2.length());//接收一个显示设置缓存大小的整型参数
System.out.println(sb3.capacity()+" "+sb3.length());//接受一个初始化String的参数并额外分配16个字符
System.out.println(sb4.capacity()+" "+sb4.length());//额外分配16个字符
sb1.ensureCapacity(5);
sb1.setLength(5);
System.out.println(sb1.capacity()+" "+sb1.length());
System.out.println("before " + sb3.charAt(1));//获得字符串特定位置的字符
sb3.setCharAt(1, 'o');//设置字符串特定位置的字符为新字符
System.out.println("after " + sb3.charAt(1));
char []chars = new char[5];
sb4.getChars(0, 5, chars, 0);//getChars获得某个字符串的字串
System.out.println(chars);
sb2.append("a = ").append(42).append('!').toString();//append将各种其他类型数据的字符串表示形式连接到调用StringBuffer对象的末尾
System.out.println(sb2 + " " + sb2.capacity()+" "+sb2.length());
// insert将一个字符串插入到另一个字符串中
sb2.insert(6, 76.43);
System.out.println(sb2 + " " + sb2.capacity()+" "+sb2.length());
//reverse颠倒StringBuffer对象中的字符
System.out.println(sb3.reverse());
// StringBuffer delete(int startIndex,int endIndex)
System.out.println("After delete" + sb2.delete(0, 4));
// StringBuffer deleteCharAt(int loc)
System.out.println("After delete charAt" + sb2.deleteCharAt(0));
// replace可以用一个字符集替换另一个字符串中的字符集。StringBuffer replace(int startIndex,int endIndex,String str)
StringBuffer sb5 = new StringBuffer("This is a test.");
System.out.println("After replace:" + sb5.replace(5, 7, "was"));
// subString和indexOf以及lastIndexOf方法和String的用法一样
// StringBuilder和StringBuffer的区别是StringBuilder不是同步的不是线程安全的,性能更快
}
}输出结果为:
16 0
5 0
21 5
21 5
16 5
before b
after o
abcde
a = 42! 12 7
a = 4276.43! 12 12
edcoa
After delete4276.43!
After delete charAt276.43!
After replace:This was a test.
转载于:https://my.oschina.net/u/1415012/blog/182551