描述:在實際應(yīng)用中,經(jīng)常回遇到對字符串進(jìn)行動態(tài)修改。這時候,String類的功能受到限制,而StringBuffer類可以完成字符串的動態(tài)添加、插入和替換等操作。
1、構(gòu)造函數(shù)。
2、方法。
說明:
1. 所有方法均為public;
2. 書寫格式:[修飾符] <返回類型> <方法名([參數(shù)列表])>
如:
static int parseInt(String s) 表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數(shù)為String類型。
1、構(gòu)造函數(shù)。
- StringBuffer() :構(gòu)造一個沒有任何字符的StringBuffer類。
StringBuffer(int length) : :構(gòu)造一個沒有任何字符的StringBuffer類,并且,其長度為length。
StringBuffer(String str) :以str為初始值構(gòu)造一個StringBuffer類。
2、方法。
說明:
1. 所有方法均為public;
2. 書寫格式:[修飾符] <返回類型> <方法名([參數(shù)列表])>
如:
static int parseInt(String s) 表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數(shù)為String類型。
- 1. StringBuffer append(boolean b)
2. StringBuffer append(char c)
3. StringBuffer append(char[] str)
4. StringBuffer append(char[] str, int offset, int len)
5. StringBuffer append(double d)
6. StringBuffer append(float f)
7. StringBuffer append(int i)
8. StringBuffer append(long l)
9. StringBuffer append(Object obj)
10. StringBuffer append(String str)
11. StringBuffer append(StringBuffer sb)
以上的方法都是向字符串緩沖區(qū)“追加”元素,但是,這個“元素”參數(shù)可以是布爾量、字符、字符數(shù)組、雙精度數(shù)、浮點(diǎn)數(shù)、整型數(shù)、長整型數(shù)對象類型的字符串、字符串和StringBuffer類等。如果添加的字符超出了字符串緩沖區(qū)的長度,Java將自動進(jìn)行擴(kuò)充。
代碼: |
String question = new String("1+1="); int answer = 3; boolean result = (1+1==3); StringBuffer sb = new StringBuffer(); sb.append(question); sb.append(answer); sb.append('"t'); sb.append(result); System.out.println(sb); 結(jié)果為: 1+1=3 false |
- 12. int capacity() :返回當(dāng)前StringBuffer對象(字符串緩沖區(qū))的總空間,而非字符號串的長度。
13. char charAt(int index) :在當(dāng)前StringBuffer對象中取索引號為index的字符。第一個字符的索引為“0”
14. StringBuffer delete(int start, int end) :刪除當(dāng)前StringBuffer對象中以索引號start開始,到end結(jié)束的子串。
15. StringBuffer deleteCharAt(int index) :刪除當(dāng)前StringBuffer對象中索引號為index的字符。
16. void ensureCapacity(int minimumCapacity) :重新設(shè)置字符號串緩沖區(qū)的總空間。如果minimumCapacity大于當(dāng)前的總空間,則新的空間被設(shè)置:一種結(jié)果是 minimumCapacity;另一種結(jié)果是{“老空間”乘2加2}。
代碼: |
StringBuffer sb1 = new StringBuffer(5); StringBuffer sb2 = new StringBuffer(5); sb1.ensureCapacity(6); sb2.ensureCapacity(100); System.out.println( "sb1.Capacity: " + sb1.capacity() ); System.out.println( "sb2.Capacity: " + sb2.capacity() ); 結(jié)果為: sb1.Capacity: 12 sb2.Capacity: 100 |
- 17. void getChars(int srcBegin, int srcEnd, char[] dst, int
dstBegin)
:從當(dāng)前StringBuffer對象的索引號srcBegin開始,到srcEnd結(jié)束的子串,賦值到字符數(shù)組dst中,并且從dst的索引號
dstBegin開始。
代碼: |
StringBuffer sb = new StringBuffer("I love her!"); char[] i = {'I',' ','l','o','v','e',' ','y','o','u'}; sb.getChars(7,10,i,7); System.out.println( "sb: " + sb ); 結(jié)果為:sb: I love her! |
- 18. int indexOf(String str) :返回當(dāng)前StringBuffer對象中,第一個滿足str子串的位置。
19. int indexOf(String str, int fromIndex) :從當(dāng)前StringBuffer對象的fromIndex開始查找,返回第一個滿足str子串的位置。
20. StringBuffer insert(int offset, boolean b)
21. StringBuffer insert(int offset, char c)
22. StringBuffer insert(int offset, char[] str)
23. StringBuffer insert(int index, char[] str, int offset, int len)
24. StringBuffer insert(int offset, double d)
25. StringBuffer insert(int offset, float f)
26. StringBuffer insert(int offset, int i)
27. StringBuffer insert(int offset, long l)
28. StringBuffer insert(int offset, Object obj)
29. StringBuffer insert(int offset, String str)
以上的方法都是在當(dāng)前StringBuffer對象中插入一個元素,在索引號offset處插入相應(yīng)的值。
30. int lastIndexOf(String str) :返回當(dāng)前StringBuffer對象中,最后一個滿足str子串的位置。
31. int lastIndexOf(String str, int fromIndex) :從當(dāng)前StringBuffer對象的fromIndex開始查找,返回最后一個滿足str子串的位置。
32. int length() :返回當(dāng)前StringBuffer對象(字符緩沖區(qū))中,字符串的長度。注意:此方法與capacity() 不同。
33. StringBuffer replace(int start, int end, String str) :替換當(dāng)前StringBuffer對象的字符串。從start開始,到end結(jié)束的位置替換成str。
34. StringBuffer reverse() :將字符串翻轉(zhuǎn)。
代碼: |
StringBuffer sb = new StringBuffer("0123456789"); System.out.println( "sb.reverse(): " + sb.reverse() ); 結(jié)果為:sb.reverse(): 9876543210 |
- 35. void setCharAt(int index, char ch) :設(shè)置索引號index的字符為ch。
36. void setLength(int newLength) :重新設(shè)置字符串緩沖區(qū)中字符串的長度,如果newLength小于當(dāng)前的字符串長度,將截去多余的字符。
代碼: |
StringBuffer sb = new StringBuffer("0123456789"); sb.setLength(5); System.out.println( "sb: " + sb ); 結(jié)果為:sb: 01234 |
- 37. String substring(int start) :取當(dāng)前StringBuffer對象中,從start開始到結(jié)尾的子串。
38. String substring(int start, int end) :取當(dāng)前StringBuffer對象中,從start開始到end的子串。
39. String toString() :將當(dāng)前StringBuffer對象轉(zhuǎn)換成String對象。