常用的方法:
方法 | 说明 |
StringBuff append(String str) |
在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、 double、float、int、long、Object、String、StringBuff的变量 |
char charAt(int index) | 获取index位置的字符 |
int length() | 获取字符串的长度 |
int capacity() | 获取底层保存字符串空间总的大小 |
void ensureCapacity(int mininmumCapacity) |
扩容 |
void setCharAt(int index, char ch) |
将index位置的字符设置为ch |
int indexOf(String str) | 返回str第一次出现的位置 |
int indexOf(String str, int fromIndex) |
从fromIndex位置开始查找str第一次出现的位置 |
int lastIndexOf(String str) | 返回最后一次出现str的位置 |
int lastIndexOf(String str, int fromIndex) |
从fromIndex位置开始找str最后一次出现的位置 |
StringBuff insert(int offset, String str) |
在offset位置插入:八种基类类型 & String类型 & Object类型数据 |
StringBuffer deleteCharAt(int index) |
删除index位置字符 |
StringBuffer delete(int start, int end) |
删除[start, end)区间内的字符 |
StringBuffer replace(int start, int end, String str) |
将[start, end)位置的字符替换为str |
String substring(int start) | 从start开始一直到末尾的字符以String的方式返回 |
String substring(int start,int end) |
将[start, end)范围内的字符以String的方式返回 |
StringBuffer reverse() | 反转字符串 |
String toString() | 将所有字符按照String的方式返回 |
1. StringBuffer stringBuffer01 = new StringBuffer(); 2. StringBuffer stringBuffer02 = new StringBuffer(); 3. 4. //1.StringBuffer append(String str) 5. //将指定的字符串附加到此字符序列。(不一定是String类型,很多均可) 6. stringBuffer01.append("Hellojava"); //此时stringBuffer01的内容为"Hellojava"。 7. stringBuffer02.append(123456); //此时stringBuffer02的内容为"123456"。 8. 9. //2.int capacity() 10. //返回当前容量。 11. System.out.println(stringBuffer01.capacity()); //输出为16 12. 13. //3.char charAt(int index) 14. //返回 char在指定索引在这个序列值。 15. System.out.println(stringBuffer01.charAt(0)); //输出"H" 16. 17. //4.StringBuffer delete(int start, int end) 18. //删除此序列的子字符串中的字符。 区间前闭后开。 19. System.out.println(stringBuffer02.delete(0, 2));//此时stringBuffer02为"3456" 20. 21. //5.StringBuffer deleteCharAt(int index) 22. //删除 char在这个序列中的指定位置。 23. System.out.println(stringBuffer02.deleteCharAt(0)); //此时stringBuffer02为456 24. 25. //6.int indexOf(String str) 26. //返回指定子字符串第一次出现的字符串内的索引。 27. System.out.println(stringBuffer01.indexOf("java"));//输出为5 28. 29. //7.StringBuffer insert(int offset, String str) 30. //将字符串插入到此字符序列中。 31. System.out.println(stringBuffer02.insert(0, "123"));//此时stringBuffer02为123456 32. 33. //8.int lastIndexOf(String str) 34. //返回指定子字符串最右边出现的字符串内的索引。 35. StringBuffer stringBuffer03 = new StringBuffer("12345123"); 36. System.out.println(stringBuffer03); 37. System.out.println(stringBuffer03.lastIndexOf("123")); //输出5 38. 39. //9.int length() 40. //返回长度(字符数)。 41. System.out.println(stringBuffer03.length()); //输出为8 42. 43. //10.StringBuffer replace(int start, int end, String str) 44. //用指定的String中的字符替换此序列的子字符串中的 String。(前闭后开) 45. System.out.println(stringBuffer03.replace(5,8,"6789")); //此时stringBuffer03为"123456789" 46. 47. //11.StringBuffer reverse() 48. //导致该字符序列被序列的相反代替。 49. System.out.println(stringBuffer03.reverse()); //此时stringBuffer03为987654321 50. 51. //12.void setCharAt(int index, char ch) 52. //指定索引处的字符设置为 ch 。 53. stringBuffer03.setCharAt(0, 'x'); 54. System.out.println(stringBuffer03); //此时stringBuffer03为"x87654321" 55. 56. //13.void setLength(int newLength) 57. //设置字符序列的长度。 58. stringBuffer03.setLength(14); 59. 60. //14.String substring(int start) 61. //返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。 62. System.out.println(stringBuffer03.substring(4)); //输出"54321" 63. 64. //15.String substring(int start, int end) 65. //返回一个新的 String ,其中包含此序列中当前包含的字符的子序列。(前闭后开) 66. System.out.println(stringBuffer03.substring(4,7)); //输出"543" 67. 68. //16.String toString() 69. //返回表示此顺序中的数据的字符串。 70. String s = stringBuffer03.toString(); 71. System.out.println(s); //s为"x87654321"
注意:String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:
String变为StringBuilder: 利用StringBuilder的构造方法或append()方法。
StringBuilder变为String: 调用toString()方法。