Java常用類庫--StringBuffer:append、insert、reverse、replace、subString、delete、indexOf
1、認識StringBuffer

1.1字符串連接 操作append

append方法返回StringBuffer類的實例化類對象。
public class StringBufferDemo01{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("Hello ") ; // 向StringBuffer中添加內容 buf.append("World").append("!!!") ; // 可以連續調用append()方法 buf.append("\n") ; // 添加一個轉義字符 buf.append("數字 = ").append(1).append("\n") ; // 添加數字 buf.append("字符 = ").append('C').append("\n"); // 添加字符 buf.append("布爾 = ").append(true) ; // 添加布爾值 System.out.println(buf) ; // 直接輸出對象,調用toString() } };驗證StringBuffer的內容可以修改,通過引用傳遞的方式來完成。
public class StringBufferDemo02{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("Hello ") ; fun(buf) ; // 傳遞StringBuffer內容 System.out.println(buf) ; // 打印內容 } public static void fun(StringBuffer s){ // 接收StringBuffer引用 s.append("MLDN ").append("LiXingHua") ; // 修改StringBuffer的內容 } };
1.2在任意位置處為StringBuffer添加內容insert

public class StringBufferDemo03{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("World!!") ; // 添加內容 buf.insert(0,"Hello ") ; // 在第一個內容之前添加內容 System.out.println(buf) ; buf.insert(buf.length(),"MLDN~") ; // 在最後添加內容 System.out.println(buf) ; } };
1.3字符串反轉操作reverse

public class StringBufferDemo04{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("World!!") ; // 添加內容 buf.insert(0,"Hello ") ; // 在第一個內容之前添加內容 String str = buf.reverse().toString() ; // 將內容反轉後變為String類型 System.out.println(str) ; // 將內容輸出 } };
1.4替換指定位置的內容replace

public class StringBufferDemo05{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("Hello ").append("World!!") ; // 向StringBuffer添加內容 buf.replace(6,11,"LiXingHua") ; // 將world的內容替換 System.out.println("內容替換之後的結果:" + buf) ; // 輸出內容 } };
1.5字符串截取subString

public class StringBufferDemo06{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("Hello ").append("World!!") ; // 向StringBuffer添加內容 buf.replace(6,11,"LiXingHua") ; // 將world的內容替換 String str = buf.substring(6,15) ; // 截取指定範圍的內容 System.out.println("內容截取之後的結果:" + str) ; // 輸出內容:LiXingHua } };
1.6字符串刪除delete
public class StringBufferDemo07{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("Hello ").append("World!!") ; // 向StringBuffer添加內容 buf.replace(6,11,"LiXingHua") ; // 將world的內容替換 String str = buf.delete(6,15).toString() ; // 刪除指定範圍中的內容 System.out.println("刪除之後的結果:" + str) ; // 輸出內容 } };
1.7查找指定位置的內容是否存在indexOf

public class StringBufferDemo08{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; // 聲明StringBuffer對象 buf.append("Hello ").append("World!!") ; // 向StringBuffer添加內容 if(buf.indexOf("Hello")==-1){ System.out.println("沒有查找到指定的內容") ; }else{ // 不為01表示查找到內容 System.out.println("可以查找到指定的內容") ; } } };
2、StringBuffer類的應用
public class StringBufferDemo09{ public static void main(String args[]){ String str1 = "LiXingHua" ; for(int i=0;i<100;i++){ str1 += i ; // 不斷修改String的內存引用,性能低 } System.out.println(str1) ; } };
public class StringBufferDemo10{ public static void main(String args[]){ StringBuffer buf = new StringBuffer() ; buf.append("LiXingHua") ; for(int i=0;i<100;i++){ buf.append(i); // StringBuffer可以修改,性能高 } System.out.println(buf) ; } };
凡是需要頻繁修改字符串內容的時候,都要使用StringBuffer類來完成。
最後更新:2017-04-03 14:53:48