比较string、stringbuffer、stringbuilder拼接效率

public class MainTest {

public static void main(String[] args) {

long n = 30000;

System.out.println("Start... "+n);

long start1 = System.currentTimeMillis();

String s1 = new String("hello");

for (long i = 0; i < n; i++)

{

s1+="拼接字符串的时间";

}

long end1 = System.currentTimeMillis();

long time1 = end1 -start1;

System.out.println("用String+=拼接字符串的时间"+time1);

long start2 = System.currentTimeMillis();

String s2 = new String("hello");

for (long i = 0; i < n; i++)

{

s2=s2+"拼接字符串的时间";

}

long end2 = System.currentTimeMillis();

long time2 = end2 -start2;

System.out.println("用String=String+拼接字符串的时间"+time2);

long start3 = System.currentTimeMillis();

String s3 = new String("hello");

for (long i = 0; i < n; i++)

{

s3=s3.concat("拼接字符串的时间");

}

long end3 = System.currentTimeMillis();

long time3 = end3 -start3;

System.out.println("用String.concat拼接字符串的时间"+time3);

long start4 = System.currentTimeMillis();

StringBuffer s4 = new StringBuffer("hello");

for (long i = 0; i < n; i++)

{

s4.append("拼接字符串的时间");

}

long end4 = System.currentTimeMillis();

long time4 = end4 -start4;

System.out.println("用StringBuffer.append拼接字符串的时间"+time4);

long start5 = System.currentTimeMillis();

StringBuilder s5 = new StringBuilder("hello");

for (long i = 0; i < n; i++)

{

s5.append("拼接字符串的时间");

}

long end5 = System.currentTimeMillis();

long time5 = end5 -start5;

System.out.println("用StringBuilder.append拼接字符串的时间"+time5);

System.out.println("End...");

}

}

输出结果:

Start... 30000

用String+=拼接字符串的时间32800

用String=String+拼接字符串的时间30609

用String.concat拼接字符串的时间14144

用StringBuffer.append拼接字符串的时间2

用StringBuilder.append拼接字符串的时间2

End...

分享到:

2016-12-27 18:01

浏览 404

评论

java 字符串拼接优化_JAVA字符串拼接效率相关推荐

  1. java用 拼接字符串的原理_Java String 拼接字符串原理详解

    首先来一道思考题: String str1 = "111111"; String str2 = "222222"; String str = str1 + st ...

  2. java的字符定义_Java字符串定义及常用方法

    String.StringBuffer和StringBuilder String修饰的是不可变的字符串,而StringBuffer和StringBuilder类的对象是可以被修改的. StringBu ...

  3. java中的字符串常量池_java字符串常量池

    字符串常量池SCP jdk1.6是放在永久代(8中叫方法区或叫元空间)中; jdk1.7+中,字符串常量池放入了堆中,注意运行时常量依然存放在方法区,例如,Integer a = 40:Java在编译 ...

  4. java字符串的用法_Java字符串的重要方法的使用实例

    String类将是您存储和处理语言的主要工具之一,本篇文章将带领大家对Java字符串的方法有个基础的认识,了解他的功能使用方法. 本文摘自千锋教育编著的<Java语言程序设计>,如需转载请 ...

  5. java字符串拆分 空字符_Java字符串拆分

    java字符串拆分 空字符 Java String split() method is used to split the string into a string array based on th ...

  6. java split 字符串作为分隔符_Java 字符串分隔 split

    Java中的我们可以利用 split 方法(Java.lang.string.split)把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项. s ...

  7. java字符串转时间_java字符串和时间转换

    import java.text.SimpleDateFormat; import java.util.Date; //将long字符串转换成格式时间输出 public class LongToStr ...

  8. java 字节转字符_Java 字符串 之 字符,字节,字符串的转换

    /** 题目: String 类的相关操作 1. 字符与字符串转换操作 2. 字节与字符串转换操作 3. 判断操作 4. 替换操作 5. 字符串的截取 6. 字符串的拆分 7. 字符串的查找 8. 字 ...

  9. java 全半角转换_Java字符串全半角转换

    虽然生活中很少用到全角,但是有时还是会用到对字符串进行全半角的转换,尤其是全角转换为半角,在这里简单记录一下,以备以后使用参考: /** * 字符串全半角转换 */ package com.proje ...

最新文章

  1. Delta3D———通过游戏管理器组件和消息的扩展创建自定义行为 《转》
  2. CSS样式表初始化代码
  3. Python异常处理实例
  4. 局域网聊天工具的设计与实现 java设计代写代做代码源代码
  5. python电子相册制作代码大全_20 行 Python 代码即可制作精美证件照
  6. STM32利用库函数驱动OLED
  7. codevs 1729 单词查找树
  8. linux能上ps吗,在linux上使用ps(转载)
  9. pytorch自动求导-07
  10. JAVA 实现《中国象棋》游戏
  11. 74HC595在【8x8LED点阵】中的运用
  12. B站热榜 RSS 订阅 - 基于 RSSHub
  13. 如何给图片添加文字?图片加字功能怎么使用?
  14. Ps使用旋转扭曲制作图片
  15. jQJQJQJQJQJQ
  16. 天龙八部TLBB从0到1搭建教程-中
  17. [:,None]和[None,:]
  18. 计算机主机配置讲解,组装机电脑配置单讲解
  19. influxdb遇到时间点存储不了
  20. 中文为什么没有词干提取_词干中没有小写字母

热门文章

  1. android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本)
  2. yum卸载遇到的问题--待解决
  3. 解决Eclipse Problems视图丢失图标问题
  4. FFMPEG more samples than frame size (avcodec_encode_audio2) 的解决方案
  5. 使用POI导出百万级数据到excel的解决方案
  6. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。
  7. 关于“Cannot find any provider supporting AES/ECB/PKCS7Padding”问题的解决方案
  8. JavaScript 运行时错误: 无法获取未定义或 null 一种解决方案
  9. 解决html5 audio iphone,ipd,safari不能自动播放问题
  10. 如何使用jQuery获取焦点元素?