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,安全性を高める。
容器です
特徴:
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日間」から抜粋