Java基礎學習(六):StringBuilder、StringBuffer、String類方法彙總

Java基礎學習(六):StringBuilder、StringBuffer、String類方法彙總

一、爲什麼要學習StringBuilder、StringBuffer?

  • 字符串拼接,刪除,改動需要重新申請內存,重新複製對象,浪費空間與時間。
  • StringBuilder、StringBuffer事先會分配一定的大小空間,字符串操作不需要重新分配內存。
  • StringBuilder是非線程安全,StringBuffer是線程安全,前者效率高。

二、StringBuilder、StringBuffer的創建方法

  • StringBuilder() 默認16字節
  • StringBuilder(int capacity) 自定義內存大小
  • StringBuilder(String str ) 輸入字符串
    示例:
public class first {
	public static void main(String[] args) {
			StringBuilder s1 = new StringBuilder();
			StringBuilder s2 = new StringBuilder(32);
			StringBuilder s3 = new StringBuilder("hahahaha");
			System.out.println("s1 is :" + s1);
			System.out.println("s2 is :" + s2);
			System.out.println("s3 is :" + s3);
	}
}
//---------------輸出----------------
s1 is :
s2 is :
s3 is :hahahaha

三、StringBuilder常見操作

方法 功能描述 備註
append() 將基本類型數值和字符串數組轉化成字符串,並添加到StringBuilder末端 append有函數重載
insert() 將基本類型數值和字符串數組轉化成字符串,並插入到StringBuilder對象指定的索引位置,其他位置字符依次後移 傳入兩個入參,一個是插入位置,一個是插入的字符或字符串
delete(int start , int end) 刪除該對象指定索引範圍的字符 改變了原字符串,左閉右開
charAt() 返回StringBuilder對象序列中,入參索引位置的字符值
capacity() 返回當前容量,以字符爲單位
replace(int start , int end , String str) 將指定範圍的字符串替換成新的字符串 左閉右開
reverse() 將字符串反轉 返回StringBuilder對象,原來的對象被改變
toString() 可以將對象內容打印出來

示例:

public class first {
	public static void main(String[] args) {
			StringBuilder s3 = new StringBuilder("hahahaha");
			s3.append(",hello");					//輸出:s3 is :hahahaha,hello
			s3.insert(0, "GG");						//輸出:s3 is :GGhahahaha,hello
			s3.delete(2, 10);						//輸出:s3 is :GG,hello
			System.out.println(s3.charAt(2));		//輸出:,
			s3.replace(0, 2, "i love you");			//輸出:s3 is :i love you,hello
			System.out.println(s3.reverse());		//輸出:olleh,uoy evol i /n s3 is :olleh,uoy evol i
			System.out.println("s3 is :" +s3);
	}
}

StringBuffer與StringBuilder基本方法大概一樣。

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