Java基礎語法 - 可變字串 StringBuffer
阿新 • • 發佈:2018-11-10
StringBuffer 類是執行緒安全的可變字元序列,一個類似於String類的字串緩衝區,兩者本質上是一樣的,但StringBuffer類的執行效率要比String類快很多。String類建立的字串物件是不可修改的,StringBuffer類建立的字串序列是可以修改的,且實體容量會隨著存放的字串增加而自動增加。
建立StringBuffer類
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 56 StringBuffer str1 = new StringBuffer(); 7 StringBuffer str2 = new StringBuffer("abc"); 8 StringBuffer str3 = new StringBuffer(22); 9 10 } 11 }
StringBuffer類常用方法
StringBuffer類擁有String類中的方法,String類的方法參考 https://www.cnblogs.com/CongZhang/p/9939609.html
追加資料到字串序列中
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 6 StringBuffer sdf = new StringBuffer("門前大橋下"); // 建立StringBuffer物件 7 sdf.append("遊過一群鴨"); // 追加字串常量 8 StringBuffer tmp = new StringBuffer("快來快來數一數"); //建立新的StringBuffer物件 9 10 sdf.append(tmp); // 追加StringBuffer物件 11 int x = 24678; // 建立整形變數 12 sdf.append(x); // 追加整形變數 13 System.out.println(sdf.toString()); // 輸出 14 15 } 16 }
修改指定索引的字元
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 6 StringBuffer phoneNumber = new StringBuffer("18612345678"); 7 for (int i = 3; i <= 6; i++) { 8 phoneNumber.setCharAt(i, '*'); 9 } 10 11 System.out.println("幸運觀眾的手機號為:" + phoneNumber); // 幸運觀眾的手機號為:186****5678 12 13 } 14 }
插入字串到指定索引位置
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 6 StringBuffer sbf = new StringBuffer(); 7 sbf.append("057號客戶請到視窗受理,"); 8 sbf.append("058號客戶請到視窗受理,"); 9 10 System.out.println("字串原值:" + sbf); // 字串原值:057號客戶請到視窗受理,058號客戶請到視窗受理, 11 12 sbf.insert(13, "01號VIP客戶請到視窗受理,"); // 插入VIP後:057號客戶請到視窗受理,01號VIP客戶請到視窗受理,058號客戶請到視窗受理, 13 14 System.out.println("插入VIP後:" + sbf); 15 16 } 17 }
刪除指定索引位置的字串
1 package com.mingri.chapter_02; 2 3 public class demo1 { 4 public static void main (String[] args) { 5 6 // 刪除臺詞中的失誤片段 7 String value = "各位觀眾大家好,歡迎準時開啟電梯不對是電視機收看本節目......"; // 臺詞字串 8 9 StringBuffer sbf = new StringBuffer(value); // 創建臺詞StringBuffer物件 10 System.out.println("原值為:" + sbf); // 原值為:各位觀眾大家好,歡迎準時開啟電梯不對是電視機收看本節目...... 11 12 sbf.delete(14, 19); 13 14 System.out.println("刪除後:" + sbf); // 刪除後:各位觀眾大家好,歡迎準時開啟電視機收看本節目...... 15 16 } 17 }