StringBuffer、StringBuilder
2024-08-25 23:43:37
相信大家都知道StringBuffer、StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~
String:查看源码得知,String类的声明是:public final,所以可以很清楚的知道,fianl的话是改变不了的,所以,如果我们用String来操作字符串的时候,一旦我们字符串的值改变,就会在内存创建多一个空间来保存新的字符串,可想而知,一旦遇到复杂的操作,用String是多么低效率的事啊!
所以,一般涉及到字符串操作的,我们一般使用StringBuffer或者StringBuilder,但是这两者都又有什么区别呢,下面我来说说:
查看源码可以得知:
StringBuffer和StringBuilder都集成了AbstractStringBuilder,而StringBuffer大部分方法都是synchronized,也就是线程安全的,而StringBuilder就没有,所以,我们查看API可以知道,StringBuilder可以操作StringBuffer,但是StringBuffer不可以操作StringBuilder,这也是线程的原因;
最新文章
- EXP/IMP迁移案例,IMP遭遇导入表的表空间归属问题
- Flask入门1-HelloWorld
- jquery 选择器(name,属性,元素)大全
- 用DirectX实现魔方(一)
- 在AChartEngine上绘图,手指标记当前位置
- C#将HTML导出Excel
- NetBeans自定义代码折叠块,类似vs中的#region
- 海量数据挖掘--DB优化篇
- Java开源生鲜电商平台-推荐系统模块的设计与架构(源码可下载)
- Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录
- iOS XIB使用中适配iPhoneX的安全区域、调用UiView动画
- 【代码笔记】Web-ionic-表单和输入框
- C# 获取电脑MAC地址,IP地址,物理内存,CPU序列号,硬盘ID..........................
- 性能测试三十三:监控之Linux系统监控命令大全
- 修改userdata的分区大小【转】
- Spring cron表达式详解
- linux下淘宝安全控件问题
- PCA(主成分分析)和LDA详解
- 三种数据库访问——Spring3.2 + Hibernate4.2
- Mongodb 笔记06 副本集的组成、从应用程序连接副本集、管理