閱讀49 返回首頁    go 技術社區[雲棲]


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

  上一篇:go 網絡子係統69_路由表輔助程序
  下一篇:go poj 1046 Color Me Less