+和StringBuilder拼接对比

+和StringBuilder拼接对比

空间:
String[] str={….};//100个字符串
1.+

	String s="";//1
	for(int i=0;i<str.length;i++){
		s+=str[i];//new StringBuilder(s).append(str[i]).toString();
		//一次创建了3个对象
	}

一共创建了301个对象

2.StringBuilder

	StringBuilder sb=new StringBuilder();//1
	for(int i=0;i<str.length;i++){
		sb.append(str[i]);//一次创建1个对象
	}
	String s1=sb.toString();//1

一共创建102个对象

时间:
StringBuilder拼接(拼接次数较多的时候)效率更高。

总结:
综合时间和空间的角度,StringBuilder拼接(拼接次数较多的时候)效率更高。

引申:
StringBuilder是线程不安全(用于单线程,多线程不安全),效率高。
StringBuffer是线程安全(用于多线程),效率低。


版权声明:本文为yuntianyun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。