String str ="hello";
			System.out.println(str);
			System.out.println(str+"world");
	}

输出的结果是:hello

helloworld

从运行结果中我们可以看到,程序运行时会额外创建一个对象,保存 "helloworld"。当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类

 

// 创建一个StringBuilder对象,用来存储字符串
		StringBuilder hobby=new StringBuilder("c");

		System.out.println(hobby);

运行结果:爱慕课

StringBuilder有多种使用方法

java 输出string 数组 java输出stringbuilder_线程安全

 

代码例子:

public class HelloWorld {
    public static void main(String[] args) {
		// 创建一个空的StringBuilder对象
		StringBuilder str=new StringBuilder();

		// 追加字符串
		str.append("jaewkjldfxmopzdm");

        // 从后往前每隔三位插入逗号
        for(int i = str.length()-3;i>0;i=i-3)
        str.insert(i,",");

	        // 将StringBuilder对象转换为String对象并输出
		System.out.println(str.toString());
	}
}

运行的结果:

j,aew,kjl,dfx,mop,zdm