StringBufferの常用方法と操作

2583 ワード

StringBufferは文字列バッファです。
容器です
特徴:
1,長さは変化します。
2,複数のデータタイプを直接操作できます。
3,最終的にはString法により文字列になります。
C create U up date R read D delete
1,保存します
SteringBuffer apped():指定データをパラメータとして既存データの末尾に追加します。
SteringBuffer insert(index,データ):指定されたindex位置にデータを挿入することができます。
2,削除します
SteringBuffer delete:バッファのデータを削除し、startを含み、endを含みません。
SteringBuffer deleteCharAt:指定された位置の文字を削除します。
3,取得します
char charAt(int index) 
int indexOf(String str) 
int lastIndexOf(String str) 
int length() 
String substring(int start,int end) 
 
4,修正します
StringBurer replace(start,end,string);
void set CharAt(int index,char ch);
5,反転
StringBuffer reverse();
 
6,
バッファで指定されたデータを指定された文字配列に格納します。
void get Chars(int srBegin,int srcent,char[]dst,int dstBegin) 
JDK 1.5バージョンの後にStringBuiderが現れました。
StringBufferはスレッド同期です。
StringBuiderはスレッドが同期していません。
今後開発しますので、StringBuiderを使うことをお勧めします。
アップグレードの3つの要素:
1、効率を上げる
2,書き方を簡略化します
3,安全性を高める。
class StringBufferDemo 
{
	public static void main(String[] args) 
	{
		//method_update();

		StringBuilder sb = new StringBuilder("abcdef");
	
		char[] chs = new char[6];

		sb.getChars(1,4,chs,1);// 

		for(int x=0; x<chs.length; x++)
		{
			sop("chs["+x+"]="+chs[x]+";");
		}
		draw(3,6);
		draw(8,9);
//		StringBuilder sb1 = new StringBuilder();
//		sb1.append(new Demo()).append(new Demo());
//		sop("sb1="+sb1);
	}
	public static void method_update()
	{
		StringBuffer sb  = new StringBuffer("abcde");
//		sb.replace(1,4,"java");
		sb.setCharAt(2,'k');
		sop(sb.toString());	
	}
	public static void method_del()
	{
		StringBuffer sb  = new StringBuffer("abcde");		
//		sb.delete(1,3);
		//     。
		//sb.delete(0,sb.length());
		//sb.delete(2,3);
		sb.deleteCharAt(2);
		sop(sb.toString());
	}

	public static void method_add()
	{
		StringBuffer sb = new StringBuffer();
		//sb.append("abc").append(true).append(34);
//		StringBuffer sb1 = sb.append(34);
//		sop("sb==sb1:"+(sb==sb1));//true
		sb.insert(1,"qq");
		sop(sb.toString());//abctrue34
		//sop(sb1.toString());		
	}	
	public static void sop(String str)
	{
		System.out.println(str);
	}	
	public static void draw(int row,int col)
	{
		StringBuilder sb = new StringBuilder();
		for(int x=0; x<row; x++)
		{
			for(int y=0; y<col; y++)
			{
				sb.append("*");
			}
			sb.append("\r
"); } sop(sb.toString()); } }
——「東へ25日間」から抜粋