当前位置: 首页 > news >正文

做检索网站制作个人免费网站展示设计

做检索网站,制作个人免费网站展示设计,wordpress调用用户名,深圳网站建设设计科技有限公司转载自 java提高篇之字符串对于字符串而言我们经常是要对其进行拼装处理的#xff0c;在java中提高了三种拼装的方法#xff1a;、concat()以及append()方法。这三者之间存在什么区别呢#xff1f;先看如下示例#xff1a; public class StringTest {/*** desc 使用、conca…转载自 java提高篇之字符串对于字符串而言我们经常是要对其进行拼装处理的在java中提高了三种拼装的方法、concat()以及append()方法。这三者之间存在什么区别呢先看如下示例 public class StringTest {/*** desc 使用、concat()、append()方法循环10W次* author chenssy* data 2013-11-16* param args* return void*/public static void main(String[] args) {//long start_01 System.currentTimeMillis();String a a;for(int i 0 ; i 100000 ; i){a b;}long end_01 System.currentTimeMillis();System.out.println( 所消耗的时间 (end_01 - start_01) 毫米);//concat()long start_02 System.currentTimeMillis();String c c;for(int i 0 ; i 100000 ; i){c c.concat(d);}long end_02 System.currentTimeMillis();System.out.println(concat所消耗的时间 (end_02 - start_02) 毫米);//appendlong start_03 System.currentTimeMillis();StringBuffer e new StringBuffer(e);for(int i 0 ; i 100000 ; i){e.append(d);}long end_03 System.currentTimeMillis();System.out.println(append所消耗的时间 (end_03 - start_03) 毫米);} } Output:所消耗的时间19080毫米concat所消耗的时间9089毫米append所消耗的时间10毫米从上面的运行结果可以看出append()速度最快concat()次之最慢。原因请看下面分解: 1方式拼接字符串 在前面我们知道编译器对进行了优化它是使用StringBuilder的append()方法来进行处理的我们知道StringBuilder的速度比StringBuffer的速度更加快但是为何运行速度还是那样呢主要是因为编译器使用append()方法追加后要同toString()转换成String字符串也就说  str ”b”等同于 str new StringBuilder(str).append(“b”).toString(); 它变慢的关键原因就在于new StringBuilder()和toString()这里可是创建了10W个StringBuilder对象而且每次还需要将其转换成String速度能不慢么 2concat()方法拼接字符串 public String concat(String str) {int otherLen str.length();if (otherLen 0) {return this;}char buf[] new char[count otherLen];getChars(0, count, buf, 0);str.getChars(0, otherLen, buf, count);return new String(0, count otherLen, buf);}这是concat()的源码它看上去就是一个数字拷贝形式我们知道数组的处理速度是非常快的但是由于该方法最后是这样的return new String(0, count otherLen, buf);这同样也创建了10W个字符串对象这是它变慢的根本原因。 3append()方法拼接字符串 public synchronized StringBuffer append(String str) {super.append(str);return this;}StringBuffer的append()方法是直接使用父类AbstractStringBuilder的append()方法该方法的源码如下 public AbstractStringBuilder append(String str) {if (str null) str null;int len str.length();if (len 0) return this;int newCount count len;if (newCount value.length)expandCapacity(newCount);str.getChars(0, len, value, count);count newCount;return this;}与concat()方法相似它也是进行字符数组处理的加长然后拷贝但是请注意它最后是返回并没有返回一个新串而是返回本身也就说这这个10W次的循环过程中它并没有产生新的字符串对象。 通过上面的分析我们需要在合适的场所选择合适的字符串拼接方式但是并不一定就要选择append()和concat()方法原因在于根据符合我们的编程习惯只有到了使用append()和concat()方法确实是可以对我们系统的效率起到比较大的帮助才会考虑同时鄙人也真的没有怎么用过concat()方法。
http://www.yutouwan.com/news/401014/

相关文章:

  • 柳市那些做网站的公司wordpress 匹配
  • 南京网站建设王道下拉??网站快照不更新原因
  • app网站wordpress的博客主题
  • 网站建设 环保素材零售电商平台有哪些
  • 网站建设服务 杭州中国诗歌网个人网页
  • 厦门 网站建设 公司哪家好西安网站建设方案维护
  • 优秀网站建设模版营销型网站怎么收费
  • 广州市安全教育平台新网站如何做优化
  • 做笑话网站赚钱吗xyz溢价域名最好的网站
  • 会计网站建设意义给网站做h5缓存机制
  • 我是站长网wordpress显示访问量
  • 微信网站开发平台怎么建设营销型网站
  • 做网站前端有前途么1号网站建设
  • 临沂网站建设找谁合肥seo按天扣费
  • 石家庄招投标公共服务平台官网seo优化软件下载
  • 合肥大型网站北京网站制作公司兴田德润实力强
  • 驻马店 网站制作短视频代运营费用明细
  • 网站关键词筛选域名注册网站哪个好
  • 帮做钓鱼网站会怎样成都游戏网站建设
  • 柳州房地产网站建设一般企业邮箱是哪里注册
  • 做网站 怎么推广dw wordpress
  • 深圳宝安区哪里好玩班级优化大师下载
  • 社区网站 备案做项目的网站
  • 培训通网站建设宁波北京网站建设
  • 携程网建设网站的理由交互设计产品有哪些
  • 网站怎么更改后台登陆密码网站设计中的事件是什么
  • 用ip地址做网站网站建设 台州
  • 分享网站模板信和财富网站开发
  • 网站开发合同 doc怎么自己做视频网站
  • 网站开发就业培训班免费红色ppt模板下载