当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
和 String 类不同的是,String的字符序列发生变化一定产生了新的字符串对象,而StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
1.StringBuilder例子
将一个由英文字母组成的字符串转换成指定格式---从右边开始每三个字母用逗号分隔的形式。
public class TestStringBuilder {
public static void main(String[] args) {
//创建一个新的StringBuilder对象
StringBuilder str=new StringBuilder();
//追加字符串
str.append("safvxcghjn");
//从后往前每隔三个字符就添加一个,号
for (int i=str.length()-3;i>0;i=i-3){
str.insert(i,",");
}
//将StringBuilder对象转换成String对象并输出
System.out.println(str.toString());
}
}
结果:
s,afv,xcg,hjn