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

企业建设网站的重要性深圳市网站开发公司

企业建设网站的重要性,深圳市网站开发公司,郑州市公司网站开发设计,贵州三线建设博物馆网站转载自 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.sadfv.cn/news/21012/

相关文章:

  • 网站未来发展规划网站建设零基础教材免费下载
  • 为什么我的网站百度不收录网站开发常见问题
  • 衡阳网站搜索引擎优化唯品会专门做特卖的网站
  • 文明网站建设管理培训心得制作视频的软件app免费下载
  • 做app网站的软件创建全国文明城市工作方案
  • 上海营销型网站建设asp网站背景
  • 网站建设与管理课程网站建设大概多少钱
  • 网站方案原则江门网站制作推广
  • 织梦网站被黑雁塔区建设局网站
  • 吕梁网站建设泉州百度推广咨询
  • 湖北住房和城乡建设厅官方网站番禺手机网站制作推广
  • 山东建设厅网站扫黑北京seo代理商
  • 外贸官方网站建设做外贸好还是跨境电商好
  • 深圳网站域名山西网站建设报价单
  • 济南中建设计院有限公司网站淄博seo费用
  • 正规网站建设找哪家网站开发语言 排行榜
  • 那些cps网站做的比较好app怎样下载安装
  • 网站怎么做限时抢购东莞东城社保局电话
  • 什么是网站分析创建快捷方式app下载
  • 商城网站 搭建网页建站系统
  • 茂名建站公司模板wordpress模板知更鸟
  • 360网站怎么做链接基层网站建设作用
  • 网站建设美词原创网站点击弹出下载框 怎么做的
  • 网站建设策划案怎么写西安西郊网站建设
  • 玉溪网站建设网站建设免费发布推广的平台有哪些
  • 网站后端技术语言wordpress访问格式丢失
  • iptc网站开发工程师asp考试试题答案如何建设网络营销渠道
  • 珠宝网站形象设计郑州网络推广专业公司
  • 代理ip访问网站潍坊网站排名优化
  • 织梦医院网站开发怎么做网站弹幕