StringBuffer

StringBuffer

String和StringBuffer他們都可以存儲和操作字元串,即包含多個字元的字元串數據。

String類字元串常量,是不可更改的常量。而StringBuffer是字元串變數,它的對象是可以擴充和修改的。

StringBuffer類的構造函數

public StringBuffer()

創建一個空的StringBuffer類的對象。

public StringBuffer( int length )

創建一個長度為 參數length 的StringBuffer類的對象。

注意:如果參數length小於0,將觸發NegativeArraySizeException異常。

public StringBuffer( String str )

用一個已存在的字元串常量來創建StringBuffer類的對象。

方法:


StringBuffer append(boolean b)這些方法都是向字元串緩衝區“追加”元素,但是,這個“元素”參數可以是布爾量、字元、字元數組、雙精度數、浮點數、整型數、長整型數對象類型的字元串、字元串和StringBuffer類等。如果添加的字元超出了字元串緩衝區的長度,Java將自動進行擴充。
StringBuffer append(char c)同上
StringBuffer append(char[] str)同上
StringBuffer append(char[] str, int offset, int len)同上
StringBuffer append(double d)同上
StringBuffer append(float f)同上
StringBuffer append(int i)同上
StringBuffer append(long l)同上
StringBuffer append(Object obj)同上
StringBuffer append(String str)同上
StringBuffer append(StringBuffer sb)同上
int capacity()返回當前StringBuffer對象(字元串緩衝區)的總空間,而非字元號串的長度。
char charAt(int index)在當前StringBuffer對象中取索引號為index的字元。第一個字元的索引為“0”
StringBuffer delete(int start, int end)刪除當前StringBuffer對象中以索引號start開始,到end結束的子串
StringBuffer deleteCharAt(int index)刪除當前StringBuffer對象中索引號為index的字元。
void ensureCapacity (int minimumCapacity)重新設置字元號串緩衝區的總空間。如果minimumCapacity大於當前的總空間,則新的空間被設置:一種結果是minimumCapacity;另一種結果是{“老空間”乘2加2}。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)從當前StringBuffer對象的索引號srcBegin開始,到srcEnd結束的子串,賦值到字元數組dst中,並且從dst的索引號dstBegin開始。
int indexOf(String str)返回當前StringBuffer對象中,第一個滿足str子串的位置。
int indexOf(String str, int fromIndex)從當前StringBuffer對象的fromIndex開始查找,返回第一個滿足str子串的位置。
StringBuffer insert(int offset, boolean b)這些方法都是在當前StringBuffer對象中插入一個元素,在索引號offset處插入相應的值。
StringBuffer insert(int offset, char c)同上
StringBuffer insert(int offset, char[] str)同上
StringBuffer insert(int index, char[] str, int offset, int len)同上
StringBuffer insert(int offset, double d)同上
StringBuffer insert(int offset, float f)同上
StringBuffer insert(int offset, int i)同上
StringBuffer insert(int offset, long l)同上
StringBuffer insert(int offset, Object obj)同上
StringBuffer insert(int offset, String str)同上
int lastIndexOf(String str)返回當前StringBuffer對象中,最後一個滿足str子串的位置。
int lastIndexOf(String str, int fromIndex)從當前StringBuffer對象的fromIndex開始查找,返回最後一個滿足str子串的位置。
int length()
返回當前StringBuffer對象(字元緩衝區)中,字元串的長度。
注意:此方法與capacity() 不同。
StringBuffer replace(int start, int end, String str)替換當前StringBuffer對象的字元串。從start開始,到end結束的位置替換成str。
StringBuffer reverse()將字元串翻轉。
void setCharAt(int index, char ch)設置索引號index的字元為ch。
void setLength(int newLength)重新設置字元串緩衝區中字元串的長度,如果newLength小於當前的字元串長度,將截去多餘的字元。
String substring(int start)取當前StringBuffer對象中,從start開始到結尾的子串。
String substring(int start, int end)取當前StringBuffer對象中,從start開始到end的子串。
String toString()將當前StringBuffer對象轉換成String對象

介紹


public String toString()
轉換為String類對象並返回。由於大多數類中關於顯示的方法的參數多為String類的對象,所以經常要將StringBuffer類的對象轉換為String類的對象,再將它的值顯示出來。用法如:
StringBuffer sb=new StringBuffer("How are you?");
Label l1=new Label(sb.toString());
(註:聲明一個標籤對象l1,l1上的內容為How are you?)
public StringBuffer append( boolean b )
public StringBuffer append( char c )
public StringBuffer append( int i)
public StringBuffer append( long l )
public StringBuffer append( float f )
public StringBuffer append( double d )
以上6個方法可將boolean、char、int、long、float和double 6種類型的變數追加到StringBuffer類的對象的後面。用法如:
double d=123.4567;
StringBuffer sb=new StringBuffer();
sb.append(true);
sb.append('c').append(d).append(99);
(註:sb的值為truec123.456799)
public StringBuffer append( String str )
將字元串常量str追加到StringBuffer類的對象的後面。
public StringBuffer append( char str[] )
將字元數組str追加到StringBuffer類的對象的後面。
public StringBuffer append
( char str[], int offset, int len )
將字元數組str,從第offset個開始取len個字元,追加到StringBuffer類的對象的後面。
public StringBuffer insert
( int offset, boolean b )
public StringBuffer insert
( int offset, char c )
public StringBuffer insert
( int offset, int i )
public StringBuffer insert
( int offset, long l )
public StringBuffer insert
( int offset, float f )
public StringBuffer insert
( int offset, double d )
public StringBuffer insert
( int offset, String str )
public StringBuffer insert
( int offset, char str[] )
將boolean、char、int、long、float、double類型的變數、String類的對象或字元數組插入到StringBuffer類的對象中的第offset個位置。用法如:
StringBuffersb=new StringBuffer("abfg");
sb.insert(2,"cde");
(註:sb的值為abcdefg)
public int length()
這個方法返回字元串變數的長度,用法與String類的length方法類似。
StringBuffer sbf=new StringBuffer();
System.out.println(sbf.capacity());
System.out.println(sbf.length());
輸出 16 ,0.
默認構造器是由系統自動分配容量,默認是16個字元。由於沒有賦值,所以緩衝對象的長度就是0.
StringBuffer sbf=new StringBuffer(100);設定容量大小的構造器
charAt()方法可以返回字元中的單個字元
setCharAt(0,‘x’) 方法可以對字元中的單個字元進行替換
reverse() 方法可以倒置字元串內容。