天天看點

StringBuffer & StringBuilder

StringBuffer:就是字元串緩沖區,用于存儲資料的容器。

一、特點:

1,長度的可變的。 

2,可以存儲不同類型資料。

3,最終要轉成字元串進行使用。

4,可以對字元串進行修改。

二、 具備的功能

CURD:增删改查  C(create)U(update)R(read)D(delete)  

1,添加:

StringBuffer append(data);

StringBuffer insert(index,data);
           

2,删除:

StringBuffer delete(start,end):包含頭,不包含尾。

StringBuffer deleteCharAt(int index):删除指定位置的元素 
           

3,查找:

char charAt(index);

int indexOf(string);

int lastIndexOf(string);
           

4,修改:

StringBuffer replace(start,end,string);

void setCharAt(index,char);
           

三、StringBuilder

jdk1.5以後出現了功能和StringBuffer一模一樣的對象。就是StringBuilder不同的是

StringBuffer是線程同步的。通常用于多線程。

StringBuilder是線程不同步的。通常用于單線程。 它的出現提高效率。

四、練習

1,将一個int數組變成字元串

public class StringBuilderTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		int[] arr = {3,1,5,3,8};
		String s = arrayToString_2(arr);
		
		System.out.println(s);
	}
	public static String arrayToString_2(int[] arr){
		
		StringBuilder sb = new StringBuilder();
		sb.append("[");
		for (int i = 0; i < arr.length; i++) {
			if(i!=arr.length-1)
				sb.append(arr[i]+", ");
			else
				sb.append(arr[i]+"]");
		}
		return sb.toString();
	}
}
           

運作結果:

StringBuffer &amp; StringBuilder