Java之StringBuffer可變字串(值可以改變)

鄭清發表於2018-08-25

StringBuffer可變字串  == 》值可以改變
構造方法:
       StringBuffer()  : 建立一個空的可變字串物件
       StringBuffer(String s)  : 建立一個指定字面量的可變字串物件
方法:(具體查api文件)
       append(任何型別的引數):把指定的引數拼接到當前字串的末尾。  不會生成新的字串物件
      delete(int start,int end) : 刪除索引為start到end範圍的字串,含前不含後 (基本上帶start與end引數的都是含前不含後)

ex1:

/*
 * 此程式碼建立了10個字串物件,對記憶體是極大的浪費
 * 像這種需要頻繁的修改字串值的情況,不建議使用不可變字串:Stirng
 * 建議使用可變字串:StringBuffer
 * 可變字串的特點:每次修改值,不會建立新的物件
 * 修改之後:從始至終都只有一個可變字串物件
 */
public class Demo{

	public static void main(String[] args) {
		StringBuffer sb  = new StringBuffer();
		for(int i = 0;i<10;i++){
			sb.append(i + " ");
		}
		System.out.println(sb);
	}

}

執行結果圖:


ex2:

public class Demo {

	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
		System.out.println(sb);
		
		StringBuffer sb2 = new StringBuffer("這是一個可變字串");
		System.out.println(sb2);
		//呼叫append方法但是沒有使用sb2來接收返回值。如果列印的值發生了變化,說明:是在本來的基礎上改變了值
		sb2.append("+hello");
		System.out.println(sb2);
		//刪除sb2中索引0到索引3範圍的字串。注意:end引數要寫4
		sb2.delete(0, 4);
		System.out.println(sb2);
	}

}

執行結果圖:

相關文章