posts - 39,  comments - 157,  trackbacks - 0
  2007年1月14日
看看以下代码:
将26个英文字母重复加了5000次,

String tempstr = "abcdefghijklmnopqrstuvwxyz";
int times = 5000;
long lstart1=System.currentTimeMillis();
  String str ="";
  for(int i=0;i<times;i++)
  {
   str+=tempstr;
  }
  
  long lend1=System.currentTimeMillis();
  long time = (lend1-lstart1);
  System.out.println(time);

可惜我的计算机不是超级计算机,得到的结果每次不一定一样一般为 154735 左右。
也就是154秒。
我们再看看以下代码

String tempstr = "abcdefghijklmnopqrstuvwxyz";
 
  int times = 5000;
long lstart2=System.currentTimeMillis();
  StringBuffer sb =new  StringBuffer();
  for(int i=0;i<times;i++)
  {
   sb.append(tempstr);
   
  }
  long lend2=System.currentTimeMillis();
  long time2 = (lend2-lstart2);
  System.out.println(time2);
 得到的结果为 16 有时还是 0
所以结论很明显,StringBuffer 的速度几乎是String 上万倍。当然这个数据不是很准确。因为循环的次数在100000次的时候,差异更大。不信你试试。
下一次我将解释为什么StringBuffer 的效率比String 高这么多。
posted @ 2007-01-14 12:24 nake 阅读(1308) | 评论 (4)编辑 收藏
<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(6)

我参与的团队

随笔档案(39)

收藏夹(1)

搜索

  •  

积分与排名

  • 积分 - 81166
  • 排名 - 111

最新评论

阅读排行榜

评论排行榜