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() 方法可以倒置字元串內容。