常用的方法:
方法 | 说明 |
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()方法。