常用類庫--15.1StringBuffer類

在項目開發中,String是一個必不可少的工具類,但是String類自身有一個最大的缺陷,內容一旦聲明,則不可改變,所以在jdk中爲了方便用戶修改字符串的內容提供了StringBuffer類。
StringBuffer()類並不像String類那樣可以直接通過聲明字符串常量的方式進行實例化,而是必須像普通類對象使用一樣,首先通過構造方法進行對象實例化,而後纔可以調用方法執行處理。
StringBuffer類常用方法:
在這裏插入圖片描述
範例:修改StringBuffer內容
(連接,類似於String中的“+”)

public class JavaAPIDemo {
       public static void main(String[] args) {
		StringBuffer buf=new StringBuffer("www.");  //實例化StringBuffer
		change(buf);                              //修改StringBuffer內容
		String data=buf.toString();               //將StringBuffer變爲String實例
		System.out.println(data);
	}

	private static void change(StringBuffer buf) {
		buf.append("類庫.").append("com");
		
	}
}

執行結果

www.類庫.com

用戶使用”String str="a”+“b”+“c”,定義字符串時,程序編譯後的結果等價於以下操作;
StringBuffer buf=new StringBuffer();
buf.append(“a.”).append(“b”).append(“c”);
範例:插入數據
(索引位置插入替換。)

public class JavaAPIDemo2b {
      public static void main(String[] args) {
		StringBuffer buf=new StringBuffer();
		buf.append(".com").insert(0, "www.").insert(4, "類庫");
		System.out.println(buf);
	}
}

執行結果

www.類庫.com

範例:刪除指定範圍中的內容
(索引前刪後不刪)

public class JavaAPIDemo2b3c {
       public static void main(String[] args) {
		StringBuffer buf=new StringBuffer();
		buf.append("hello java !").delete(6,11).insert(6, "lilei");
		System.out.println(buf);
	}
}

執行結果

hello lilei!

範例:字符串反轉
(最有特點的方法)

package com.lxh.fifteenchapter;

public class javaAPIDemo4d {
	public static void main(String[] args) {
		StringBuffer buf=new StringBuffer();
		buf.append("hyguyhguhu");
		System.out.println(buf.reverse());
	}
	
}

執行結果

uhughyugyh

StringBuffer與StringBuilder

StringBuffer類是在jdk1.0提供的。jdk1.5提供了StringBuilder類。這兩個類的功能類似,都是可修改的字符串類型,區別在於,StringBuffer類中的方法使用了synchronized關鍵字定義。所以StringBuffer是線程安全的,StringBuilder是非線程安全的方法,也就是線程不安全。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章