相信大家都知道StringBuffer、StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~

  String:查看源码得知,String类的声明是:public final,所以可以很清楚的知道,fianl的话是改变不了的,所以,如果我们用String来操作字符串的时候,一旦我们字符串的值改变,就会在内存创建多一个空间来保存新的字符串,可想而知,一旦遇到复杂的操作,用String是多么低效率的事啊!

  所以,一般涉及到字符串操作的,我们一般使用StringBuffer或者StringBuilder,但是这两者都又有什么区别呢,下面我来说说:

  查看源码可以得知:

    StringBuffer和StringBuilder都集成了AbstractStringBuilder,而StringBuffer大部分方法都是synchronized,也就是线程安全的,而StringBuilder就没有,所以,我们查看API可以知道,StringBuilder可以操作StringBuffer,但是StringBuffer不可以操作StringBuilder,这也是线程的原因;

最新文章

  1. EXP/IMP迁移案例,IMP遭遇导入表的表空间归属问题
  2. Flask入门1-HelloWorld
  3. jquery 选择器(name,属性,元素)大全
  4. 用DirectX实现魔方(一)
  5. 在AChartEngine上绘图,手指标记当前位置
  6. C#将HTML导出Excel
  7. NetBeans自定义代码折叠块,类似vs中的#region
  8. 海量数据挖掘--DB优化篇
  9. Java开源生鲜电商平台-推荐系统模块的设计与架构(源码可下载)
  10. Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录
  11. iOS XIB使用中适配iPhoneX的安全区域、调用UiView动画
  12. 【代码笔记】Web-ionic-表单和输入框
  13. C# 获取电脑MAC地址,IP地址,物理内存,CPU序列号,硬盘ID..........................
  14. 性能测试三十三:监控之Linux系统监控命令大全
  15. 修改userdata的分区大小【转】
  16. Spring cron表达式详解
  17. linux下淘宝安全控件问题
  18. PCA(主成分分析)和LDA详解
  19. 三种数据库访问——Spring3.2 + Hibernate4.2
  20. Mongodb 笔记06 副本集的组成、从应用程序连接副本集、管理

热门文章

  1. MongoDB学习——持续更新
  2. 通过虚拟驱动vivi分析摄像头驱动
  3. Django学习之raw()方法查询数据
  4. .NET 单点登录解决方案
  5. git的优秀教程
  6. Android中AsyncTask的使用 (包含文件的下载与存储)
  7. 第四篇:了解 C++ 默默编写并调用的函数
  8. VMware下安装centos6.7的步骤
  9. iOS学习笔记(十二)——iOS国际化
  10. MySQL基本操作(+参考手册)