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