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

网站建设我们的优势中国建筑工程网施工组织设计

网站建设我们的优势,中国建筑工程网施工组织设计,网络营销第2版课后答案,网站建设方案 评价对字符串进行拼接主要有三种方法: 1.加号 2.concat方法 3.StringBuilder或者StringBuffer的append方法 下面看下性能对比,测试方法为各循环十万次,对比耗费时间。 测试性能 1.”"拼接 long start System.currentTimeMillis();String …

对字符串进行拼接主要有三种方法:
1.加号
2.concat方法
3.StringBuilder或者StringBuffer的append方法
下面看下性能对比,测试方法为各循环十万次,对比耗费时间。

测试性能

1.”+"拼接

        long start = System.currentTimeMillis();String str = "j";for (int i = 0; i < 100000; i++) {str += "a";}long end = System.currentTimeMillis();System.out.println("执行时间" + (end - start));

在这里插入图片描述
2.concat方法

        long start = System.currentTimeMillis();String str = "j";for (int i = 0; i < 100000; i++) {str = str.concat("a");}long end = System.currentTimeMillis();System.out.println("执行时间" + (end - start));

在这里插入图片描述
3.StringBuilder的append方法

        long start = System.currentTimeMillis();StringBuilder sb = new StringBuilder("j");for (int i = 0; i < 100000; i++) {sb.append("a");}String str = sb.toString();long end = System.currentTimeMillis();System.out.println("执行时间" + (end - start));

在这里插入图片描述
结论:append最快,concat其次,加号最慢。

分析

1.加号拼接基本等同StringBulider的append方法,但为啥耗费时间远大于append?

str = new StringBuilder("j").append("a").toString();

因为每次循环都要创建StringBuilder对象,都要调用toString方法转换为字符串。

2.concat方法分析,下面是concat的源码。

    public String concat(String str) {if (str.isEmpty()) {return this;}int len = value.length;int otherLen = str.length();char buf[] = Arrays.copyOf(value, len + otherLen);str.getChars(buf, len);return new String(buf, true);}

其实就是一个数组拷贝,它本身是很快的,但是最后都要new一个String对象,循环十万次就是new十万个对象。

3.append方法分析

    public AbstractStringBuilder append(String str) {if (str == null)return appendNull();int len = str.length();ensureCapacityInternal(count + len);str.getChars(0, len, value, count);count += len;return this;}
    public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {if (srcBegin < 0) {throw new StringIndexOutOfBoundsException(srcBegin);}if (srcEnd > value.length) {throw new StringIndexOutOfBoundsException(srcEnd);}if (srcBegin > srcEnd) {throw new StringIndexOutOfBoundsException(srcEnd - srcBegin);}System.arraycopy(value, srcBegin, dst, dstBegin, srcEnd - srcBegin);}

本质上就是加长数组长度,数组拷贝,没有new任何对象。最后循环完毕用toString方法返回字符串。
以上就是性能分析,但在我们平时开发中,没有如此大量的拼接处理,加号拼接更友好和阅读,也没有什么问题。

http://www.yayakq.cn/news/963651/

相关文章:

  • 需要做个网站乐山建网站
  • 鲜花团购网站建设软件开发公司属于什么行业
  • 江西网站建设公司联系方式双11销量数据
  • 怎么用自己的主机做网站服务器吗网站开发交流群
  • 用asp做网站出现空白怎样制作公众号平台
  • android毕业设计代做网站彬县网招聘
  • 公司网站怎样制作2021谷歌搜索入口
  • 企业做外贸网站常用术语响应式网站管理系统
  • 网站建设岗位的简介网络设计的最后一个步骤是
  • seo优化软件免费版关键词整站优化公司
  • 招商网站怎样让百度搜不到自己的网站
  • 一个简单的游戏网站建设wordpress 建视频网站吗
  • 重庆网站建设cqhtwl大型门户网站建设功能
  • 网站降权恢复搞好姓氏源流网站建设
  • 广告网站制作报价营销型网站建设的优势有哪些
  • 自己网站页面设计软件查询网站有哪些导入链接及数量
  • 建好的网站在哪里织梦网站如何生成伪静态
  • 如何建立官方网站中山门户网站建设
  • 怎么样制作一个公司网站网站指向ip列表是什么
  • 微趋道官网手机小程序制作站内优化
  • 行业网站深圳市南山区做网站的小公司
  • 单页网站 开元邯郸做网站推广的公司
  • 未来软件网站建设营销型网站建设 上海
  • wordpress 点点模版南安seo教程
  • 网站静态页面下载工具企业网站seo贵不贵
  • 网上购物网站模板网站建设使页面内容居中
  • 保定市做网站的电话做 爱 网站视频教程
  • 关于开展网站建设工作的通知哪个网站可兼职做logo
  • 门户网站开发费用wordpress 文章列表只显示标题
  • 网站建设 南京给公司做门户网站