一个可变的字符序列。 此类提供与StringBuffer的API,但不保证同步。 此类设计用作简易替换为StringBuffer在正在使用由单个线程字符串缓冲区的地方(如通常是这种情况)。 在可能的情况下,建议使用这个类别优先于StringBuffer ,因为它在大多数实现中将更快。
每个字符串构建器都有一个容量,只要字符串构建器中包含的字符序列的长度不超过容量,则不需要分配新的内部缓冲区。如果内部缓冲区溢出,则会自动变大。
StringBuilder的StringBuilder不能安全使用多线程。 如果需要同步, 那么建议使用StringBuffer 。
部分方法的使用:
StringBuilder str = new StringBuilder();
char []ch = new char[5];
ch[0]='a';
ch[1]='b';
ch[2]='c';
ch[3]='d';
ch[4]='e';
str.append("one two");//将参数添加到序列(可以是多种类型)
str.append(ch,1,4);//将char数组的子序列加到此序列
System.out.println(str.capacity());//返回当前的容量
System.out.println(str.charAt(0));//返回当前的char型数据
str.delete(0, 4);//删除此序列的子串
str.deleteCharAt(0);//删除 char在这个序列中的指定位置。
System.out.println(str.indexOf("a"));//返回第一次出现a的位置,不存在返回-1
str.indexOf("a",1);//从指定的位置开始索引
str.delete(0,2);//删除指定范围的元素
str.deleteCharAt(1);//删除指定位置的元素
str.lastIndexOf("a");//返回子字符串最右边出现的位置
str.lastIndexOf("b", 2);//返回指定字符串最后一次出现的索引
str.reverse();//将此序列反转
str.length();//返回此序列 的长度
str.toString();//转为字符串
System.out.println(str);
注:只有我目前比较常用的,以后再接着补充。