StringBuffer-StringBuilderの概要

1748 ワード

StringBuffer(Buffer学名はバッファ)
文字列の構成原理は,このクラスによって実現される.
StringBufferは容器です.文字列の内容を削除できます.StingBufferは可変長です.
多くの方法はStringと同じです.
 
スレッドが安全な可変文字シーケンス.Stringに似た文字列バッファですが、変更できません.任意の時点で特定の文字シーケンスが含まれていますが、いくつかの方法で呼び出すことで、シーケンスの長さと内容を変更できます. 
    
Java言語では、文字列の直列記号(+)と、他のオブジェクトを文字列に変換する特別なサポートがあります.文字列直列はStringBuilder(またはStringBuffer)クラスおよびそのappendメソッドによって実現される.文字列変換は、Objectクラスによって定義され、Java内のすべてのクラスによって継承されるtoStringメソッドによって実現されます.
*StringBuffer、文字列バッファ.
*特長:
*1は、任意のタイプのデータを格納できます.
*2、長さが一定ではありません.
*3は、どのような種類の要素が格納されていても、格納されると最終的には文字列になります.
     *  
     *  
*コンテナの一般的な機能:
*1、追加、挿入.
     *  append  insert./大量の重荷
*2を削除します.
*3、置換.
 
	@Test
	public void test00(){
		//  。
		StringBuffer sb = new StringBuffer();
		//  。
//		sb.append("abc").append(true);
//		sb.append(new Object());
//		System.out.println(sb.toString());
//		System.out.println(sb.length());
			
		// 。
		sb.append("abcd");
//		sb.insert(2, "qq");//abqqcd, 
//		System.out.println(sb);
		// 。
//		sb.delete(1, 3);// 
//		System.out.println(sb);
		// /。
//		sb.replace(1, 4, "ak47");
//		sb.reverse();
//		sb.setCharAt(2, 'K');
//		System.out.println(sb);
		
		sb.setLength(3);// 3 
		sb.setLength(6);// 
		System.out.println(sb+"-");
		
		String str = "a"+7+'q'+true;
		System.out.println(str);
		str = new StringBuffer().append("a").append(7).append('q').append(true).toString();
		System.out.println(str);
	}

StringBuilderの特徴
     *  JDK1.5バージョンでStringBuilderが登場しました.
*StringBufferはスレッドが安全です.鍵があります.マルチスレッドは同じコンテナにアクセスします.
*StringBuilderはスレッドが安全ではありません.鍵がかかっていません.能率が高い