面试是经常被问到StringStringBuilderStringBuffer三者的速度有什么区别,经过测试后,这三者的执行速度关系是:StringBuilder > StringBuffer > String,测试过程如下:

public class TestStringTools {public static void main(String[] args) {// 测试String速度System.out.println("String 开始时间"+System.currentTimeMillis());String testString = "test";for(int i=0; i<=100000; i++) {testString = testString + "第" + i + "个";}System.out.println("String 结束时间"+System.currentTimeMillis());// 测试StringBuilder速度System.out.println("StringBuilder 开始时间"+System.currentTimeMillis());StringBuilder testBuilder = new StringBuilder("test");for(int i=0; i<=10000000; i++) {testBuilder.append("第" + i + "个");}System.out.println("StringBuilder 结束时间"+System.currentTimeMillis());// 测试StringBuffer速度System.out.println("StringBuffer 开始时间"+System.currentTimeMillis());StringBuffer testBuffer = new StringBuffer("test");for(int i=0; i<=10000000; i++) {testBuffer.append("第" + i + "个");}System.out.println("StringBuffer 结束时间"+System.currentTimeMillis());}}

由于用 String 做字符串拼接实在太慢了,因此我们这里只进行10万次循环,而StringBuilderStringBuffer进行1千万次循环,然后对结果进行比较:

String 进行10万次字符串拼接,时间是:42354毫秒
StringBuilder 进行1千万次字符串拼接,时间是:445毫秒
StringBuffer 进行1千万次字符串拼接,时间是:755毫秒

千万级测试String、StringBuffer和StringBuilder的速度相关推荐

  1. String,StringBuffer与StringBuilder的区别

    String,StringBuffer与StringBuilder的区别 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全 ...

  2. Java中String StringBuffer和StringBuilder的区别是什么

    String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的? 可变性 简单的来说:String 类中使用 final 关键字修饰字符数组来保存 ...

  3. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  4. String,StringBuffer与StringBuilder的区别??

    2019独角兽企业重金招聘Python工程师标准>>> String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全 ...

  5. String,StringBuffer和StringBuilder的区别

    一.可变性 不同于String类的不可变性,StringBuffer和StringBuilder都继承了抽象类AbstractStringBuilder,这个类用一个char数组来存储value. a ...

  6. String,StringBuffer和StringBuilder区别?

    String是字符串常量,final修饰;StringBuffer字符串变量(线程安全);StringBuilder 字符串变量(线程不安全).此外StringBuilder和StringBuffer ...

  7. String,StringBuffer与StringBuilder的区别?

    http://blog.csdn.net/rmn190/article/details/1492013 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuil ...

  8. String,StringBuffer与StringBuilder的区别以及String为什么是不可变的?

    String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要 ...

  9. String StringBuffer 和 StringBuilder 的区别是什么?

    可变性: String类中使用了关键词final来修饰字符数组来保存字符串,private final char value[],所以String对象是不可变的:而StringBuffer与Strin ...

最新文章

  1. GIS+=地理信息+云计算技术——Spark集群部署
  2. 电话语音信箱在企业中的应用
  3. NetBeans 时事通讯(刊号 # 43 - Feb 03, 2009)
  4. 算法:前K个最大的元素
  5. jsonp-反向代理-CORS解决JS跨域问题的个人总结
  6. mysql将时间戳转化为天数_mysql 将时间戳直接转换成日期时间
  7. 蓝桥杯大赛基础之--数列排序
  8. “不会SQL,干啥都不行!”资深研发:这是程序员的必备技能!
  9. 严格对角占优矩阵特征值_MIT—线性代数笔记21 特征值和特征向量
  10. 【字体】编程常用字体推荐,微软,苹果,开源系统默认代码字体
  11. Linux批量转图,CMYK转RGB
  12. 什么是黑盒测试,白盒测试,灰盒测试?
  13. VS2015编译MPC-HC源码
  14. 开发者,别让自己孤独
  15. c语言————开辟动态内存空间
  16. 第七届“云鼎奖”投票火热开启!七大奖项您做主
  17. Python网络爬虫:PPT素材
  18. 2006-10-01 十一皖南单车行
  19. Delphi System 提供的编译期函数(Dec,Inc,Odd,Pred,Succ,Ord,Chr,Low,High,Sizeof)
  20. 把一元钱兑换成1分,2分,5分的硬币,有多少种对法,编程输出所有方法

热门文章

  1. Python代码之三级登录
  2. 超强1000个jquery极品插件!(感觉好强大,转载一下)
  3. 【初学者必读】—PowerShell 基础详解及设置
  4. Linux系统管理(8)——Ubuntu安装ssh服务 以及版本查看命令
  5. Linux命令之sed使用入门概述
  6. 阿里大数据部门真实工作场景,和你想象的一样吗?
  7. Adobe Flex UIComponent LifeCycle
  8. list(链表)容器
  9. 陕西师范大学计算机学院课表,陕西师范大学数学和信息科学学院课程表.doc
  10. 如何测试c程序的内存占用_如何写出高效的嵌入式C程序