1.效率最差:使用+符号拼接
2.效率较好:concat
3.效率好:join拼接和StringBuffer性能差不多,略高。
4.最好的:StringBuilder是最好的
StringBuilder sb=new StringBuilder();
for (int i =0;i<100;i++){
sb=sb.append(String.valueOf(i));
}
关于StringBuilder的测试:
long beginTime=System.currentTimeMillis();
StringBuilder sb=new StringBuilder();
for (int i =0;i<100000;i++){
sb=sb.append(String.valueOf(i));
}
System.out.println(System.currentTimeMillis()-beginTime);
另一种基于StringBuilder的字符串拼接StringJoiner(此类是java8才有的),StringJoiner源码比较简单,这里就不介绍了。
long beginTime=System.currentTimeMillis();
StringJoiner sj=new StringJoiner("1");
for (int i =0;i<100000/2;i++){
sj.add(String.valueOf(i));
}
System.out.println(System.currentTimeMillis()-beginTime);