java中String、StringBuffer及StringBuilder的区别
来源:互联网 发布:顺德法院淘宝司法拍卖 编辑:程序博客网 时间:2024/05/08 00:05
String:实用public final修饰的类。所以String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象。
String类是final修饰的,不能被继承。
StringBuffer和StringBuilder类对象为可修改对象,可以通过append()来修改值。
StringBuffer和StringBuilder都继承了Abstract StringBuilder(抽象类)。
StringBuffer大部分方法都是synchronized,也就是线程安全的,而StringBuilder就没有,所以,我们查看API可以知道,StringBuilder可以操作StringBuffer,但是StringBuffer不可以操作StringBuilder,这也是线程的原因;
所以,可想而知,StringBuffer的效率肯定没有StringBuilder,因为StringBuffer要维持同步锁,这肯定要消耗部分资源。
总结:
如果要操作少量的数据用:String
单线程操作字符串且操作较多数据:StringBuilder(线程不安全)
多线程操作字符串且操作较多数据:StringBuffer(线程安全)
执行速度:
StringBuilder > StringBuffer > String
0 0
- Java中String、StringBuffer及StringBuilder的区别
- java中String、StringBuffer及StringBuilder的区别
- JAVA中String、StringBuffer、StringBuilder的区别
- Java中String,StringBuffer,StringBuilder的区别?
- JAVA中String、StringBuffer、StringBuilder的区别
- java中String、StringBuilder、StringBuffer的区别
- Java中String, StringBuffer, StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- Java中String,StringBuffer,StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- Java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- android性能优化方面总结
- 【游戏】千兆破坏者(Giga Wrecker)使用Cheat Engine锁血
- Redis之——虚拟内存
- 约瑟夫环问题简单算法实现
- cookie session 区别
- java中String、StringBuffer及StringBuilder的区别
- 欢迎加入嵌入式软件开发QQ群
- PHP解耦的三重境界(浅谈服务容器)
- 修改android studio 默认的so文件检索路径
- 【error】hibernate4删除、更新无效
- 关于假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?
- 数据库查询连接(JOIN)用法
- 论文阅读-《Object Detection Networks on Convolutional Feature Maps》
- mysql索引作用的简单理解