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

做淘宝网站用什么软件三亚网友

做淘宝网站用什么软件,三亚网友,自己的电脑做网站服务器 买的服务器 速度,东莞网站优化平台对字符串进行拼接主要有三种方法: 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/652532/

相关文章:

  • 有什么可以接单做设计的网站男女做暧暧网站
  • 杭州服装论坛网站建设网站伪静态有什么用
  • 网站建设 新要求小程序卖货怎么样
  • 网站数据统计怎么做东莞seo网站推广
  • 校园网站推广方案怎么做临沂阿里巴巴网站建设
  • 2345浏览器网站大全开服网站建设
  • 兰州市城乡建设厅网站上城区商城网站建设
  • 网站建设轮播大图梧州最权威的综合性新闻门户网站
  • 网站留言系统 提交没反应高端网站建设的网站
  • 焦作做网站的做儿童业态招商要去哪些网站
  • 燃气公司网站建设方案wordpress视频点播
  • 怎样建设自己的物流信息网站投诉举报网站建设方案
  • 做网站要考虑的问题手游代理一个月能赚多少钱
  • 注销备案号 网站wordpress 重置密码链接
  • 注册公司在哪个网站注册西昌手机网站设计
  • 网站建设课后感搜外友链
  • 临汾网站建设泉州住房和城乡建设部网站
  • 网站设计的出路阳江网站制作公司
  • 动态倒计时网站模板多城市网站如何做seo
  • 济宁做网站比较好的公司有哪些广州网站改版领军企业
  • 网站新闻标题字数网站建设方法冫金手指排名26
  • 郑州电商网站开发溧阳做网站
  • 网站开发项目背景搭建一个棋牌平台需要多少钱
  • 做网站的经费vue 做门户网站
  • 牛商营销型网站建设方案四川建设厅官方网站是多少
  • 在线网站建设平台哪个好西部数码云服务器
  • 黔东南州两学一做教育网站福州高端网站建设公司
  • 设计网站公司长沙深圳网站搭建专业公司
  • 怎么做交易网站做网站要商标吗
  • 本地扬中网站建设聊城东昌府区建设路小学网站