posts - 39,  comments - 263,  trackbacks - 0
看看以下代码:
将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 on 2007-01-14 12:24 nake 阅读(4023) 评论(4)  编辑  收藏

FeedBack:
# re: String 与 StringBuffer 的效率比较
2007-01-14 12:54 | 许恒
如果你把String相加的代码用javap反汇编一下就知道为什么了。String相加是先new一个Stringbuffer,然后再执行append操作,最后使用toString返回。如此多的对象创建,当然耗时严重了。  回复  更多评论
  
# re: String 与 StringBuffer 的效率比较
2007-01-15 10:22 | 小雪飞刀
没错,String类型的处理机制的确如此  回复  更多评论
  
# re: String 与 StringBuffer 的效率比较
2007-03-10 09:42 | aone
String哪个快哪个慢还得分不同的情况.看一下这篇文章吧.
http://kiddwyl.javaeye.com/blog/56583  回复  更多评论
  
# re: String 与 StringBuffer 的效率比较
2007-08-14 15:00 | 同声传译设备租赁
同声传译奇才 卢嘉祥

卢嘉祥先生,广西贵港市人,毕业于北京外国语大学英语系,曾在中国驻美国(华盛顿)大使馆任外交官,先后在国家邮电部、国家文化部、国家经济委员会、国家计划委员会、国家发展计划委员会、国家发展和改革委员会等中央国家机关任职,1982年成为中国翻译工作者协会会员,曾担任欧美事务高级协调人、副处长、处长,1998年5月由国家发展计划委员会职称评定委员会评为教授级研究员。

  在中央政府机关的工作岗位上,卢嘉祥先生长期致力于研究国际政治、经济、贸易、投资、法律、科技、文化、教育、医药卫生、社会问题,台湾、香港、澳门问题及语言学,处理过大量国际事务,在公开及内部的刊物上发表了许多研究成果。

   多年来,在丰富多彩的外交、外事活动中,卢嘉祥先生有许多宝贵的机会同世界各国不同层次的人士交往,从联合国高级官员、各国政府领导人、各国驻中国大使、国际经贸界巨子、世界性投资集团的首席执行官、国际著名金融机构的决策者、国会参议员、众议员,到科学家、艺术家、影视明星、作家、法官、律师、工程师、进出口公司总经理、投资环境分析师、各行各业的咨询专家等。他访问过世界五大洲四十多个国家,有丰富的国际阅历,熟知国际惯例。他同中国政府各重要部门、外国政府、联合国等国际机构、外国驻华使馆、外国驻华商务、文化、慈善基金、儿童收养机构的代表处等有密切的工作关系。他的工作联络网遍及国内外经贸界、金融界、法律界、学术界、教育界及各个层次的社会团体。他在台湾、香港、澳门、新加坡、韩国、日本、美国、加拿大、英国、法国、德国、荷兰、澳大利亚等地有许多朋友。他为国内各省、市、自治区政府及企业的招商引资、双边合作、商品进出口贸易、城乡建设、交通和能源项目报批、国债资金利用、扶贫活动等做了大量工作,有丰富的操作经验。

   作为国际著名的英语教育界泰斗北京外国语大学许国璋教授的学生,卢嘉祥先生从青年时期起就对国际问题研究、经贸问题研究、英语同声翻译、笔译、定稿及英语教学有浓厚的兴趣。
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(15)

我参与的团队

随笔档案(39)

收藏夹(1)

搜索

  •  

积分与排名

  • 积分 - 446069
  • 排名 - 107

最新评论

阅读排行榜

评论排行榜