常用的方法:
| 方法 | 说明 |
| 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的方式返回 |
- StringBuffer stringBuffer01 = new StringBuffer();
- StringBuffer stringBuffer02 = new StringBuffer();
-
- //1.StringBuffer append(String str)
- //将指定的字符串附加到此字符序列。(不一定是String类型,很多均可)
- stringBuffer01.append("Hellojava"); //此时stringBuffer01的内容为"Hellojava"。
- stringBuffer02.append(123456); //此时stringBuffer02的内容为"123456"。
-
- //2.int capacity()
- //返回当前容量。
- System.out.println(stringBuffer01.capacity()); //输出为16
-
- //3.char charAt(int index)
- //返回 char在指定索引在这个序列值。
- System.out.println(stringBuffer01.charAt(0)); //输出"H"
-
- //4.StringBuffer delete(int start, int end)
- //删除此序列的子字符串中的字符。 区间前闭后开。
- System.out.println(stringBuffer02.delete(0, 2));//此时stringBuffer02为"3456"
-
- //5.StringBuffer deleteCharAt(int index)
- //删除 char在这个序列中的指定位置。
- System.out.println(stringBuffer02.deleteCharAt(0)); //此时stringBuffer02为456
-
- //6.int indexOf(String str)
- //返回指定子字符串第一次出现的字符串内的索引。
- System.out.println(stringBuffer01.indexOf("java"));//输出为5
-
- //7.StringBuffer insert(int offset, String str)
- //将字符串插入到此字符序列中。
- System.out.println(stringBuffer02.insert(0, "123"));//此时stringBuffer02为123456
-
- //8.int lastIndexOf(String str)
- //返回指定子字符串最右边出现的字符串内的索引。
- StringBuffer stringBuffer03 = new StringBuffer("12345123");
- System.out.println(stringBuffer03);
- System.out.println(stringBuffer03.lastIndexOf("123")); //输出5
-
- //9.int length()
- //返回长度(字符数)。
- System.out.println(stringBuffer03.length()); //输出为8
-
- //10.StringBuffer replace(int start, int end, String str)
- //用指定的String中的字符替换此序列的子字符串中的 String。(前闭后开)
- System.out.println(stringBuffer03.replace(5,8,"6789")); //此时stringBuffer03为"123456789"
-
- //11.StringBuffer reverse()
- //导致该字符序列被序列的相反代替。
- System.out.println(stringBuffer03.reverse()); //此时stringBuffer03为987654321
-
- //12.void setCharAt(int index, char ch)
- //指定索引处的字符设置为 ch 。
- stringBuffer03.setCharAt(0, 'x');
- System.out.println(stringBuffer03); //此时stringBuffer03为"x87654321"
-
- //13.void setLength(int newLength)
- //设置字符序列的长度。
- stringBuffer03.setLength(14);
-
- //14.String substring(int start)
- //返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。
- System.out.println(stringBuffer03.substring(4)); //输出"54321"
-
- //15.String substring(int start, int end)
- //返回一个新的 String ,其中包含此序列中当前包含的字符的子序列。(前闭后开)
- System.out.println(stringBuffer03.substring(4,7)); //输出"543"
-
- //16.String toString()
- //返回表示此顺序中的数据的字符串。
- String s = stringBuffer03.toString();
- System.out.println(s); //s为"x87654321"
注意:String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:
String变为StringBuilder: 利用StringBuilder的构造方法或append()方法。
StringBuilder变为String: 调用toString()方法。