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.