频道栏目
首页 > 资讯 > 其他 > 正文

String+与StringBuffer.append()的速度比较

18-07-26        来源:[db:作者]  
收藏   我要投稿

StringBuild的比较,代码如下:

public class Test {
 public static void main(String[] args)
 {
  String a = "a";
  String b = "b";
  String c = "c";
  long start = System.currentTimeMillis();
  for (int i = 0; i < 100000000; i++) {
String string = a + b + c;
if (string.equals("abc")) {}
  }
  System.out.println("string+ cost time:" + (System.currentTimeMillis() - start) + "ms");
  start = System.currentTimeMillis();
  for (int i = 0; i < 100000000; i++) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(a);
stringBuffer.append(b);
stringBuffer.append(c);
String string = stringBuffer.toString();
if (string.equals("abc")) {}
  }
  System.out.println("stringbuffer cost time:" + (System.currentTimeMillis() - start) + "ms");
  start = System.currentTimeMillis();
  for (int i = 0; i < 100000000; i++) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(a);
stringBuilder.append(b);
stringBuilder.append(c);
String string = stringBuilder.toString();
if (string.equals("abc")) {}
  }
  System.out.println("stringbuilder cost time:" + (System.currentTimeMillis() - start) + "ms");
 }
}

结果如下:

正如上面文章所说,此处的String其实调用的两次StringBuild的append()方法,相较于后两种都是更快的。

结论:在string+写成一个表达式的时候(更准确的说,是写成一个赋值语句的时候),效率其实比另两个更快,但如果不是这样的话,则效率会明显低于另外两个。

相关TAG标签
上一篇:Linux实现两台服务器之间传输文件和文件夹的方法讲解
下一篇:虚拟机VM中的Linux启动Nginx时出现80端口被占用的问题解决方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站