在写程序的时候以前常用String来直接加,后面慢慢发现这样的效率比较低下,后来改成用StringBuilder或者StringBuffer来进行字符串的拼接。有同事告诉我,其实直接用String+String的方式[下称S+S方式],编译器自己会弄成StringBuilder.append()的方式[下称append方式],我也没有实验过,也不好反对,但是我感觉应该是不对的,所以就有了以下的实验。
实验很简单,就是初始化一个字符串“1”,然后在这个基础上循环一定次数的拼接字符串“1”。
一、首先看看两种方式的运行时间:
1、S+S方式
public class TestString {
public static void main(String[] args) {
String a="1";
long startTime=System.currentTimeMillis();
for(int i=0;i<100000;i++){
a=a+"1";
}
long endTime=System.currentTimeMillis();
System.out.print(endTime-startTime);
}
}
运行时间:
2、append方式
public class TestBuilding {
pub