黑马程序员技术交流社区

标题: StringBuffer和StringBuilder区别 [打印本页]

作者: 刘晶    时间: 2014-5-5 20:50
标题: StringBuffer和StringBuilder区别
除了多线程操作,使用StringBuffer 安全;单线程操作使用StringBuilder效率高,StringBuilder线程不安全外,还有什么区别呢?
它们的方法都是一样,为了单线程使用就出现StringBuilder????
作者: 神马    时间: 2014-5-5 21:12
StringBuilder效率高很多,多线程的话一般也是使用StringBuilder,自己加锁。而且单线程操作一个数据的情况很普遍,所以StringBuilder还是很有必要的。
作者: 菠萝包丶    时间: 2014-5-5 21:12
本帖最后由 菠萝包丶 于 2014-5-5 21:19 编辑

StringBuilder/StringBuffer类与String类的区别
StringBuilder/StringBuffer类是可以替代String类的另一种处理字符串的解决方案。一般来说,只要使用了字符串的地方,都可以使用StringBuilder/StringBuffer类。它们比String类更灵活、可以给一个StringBuilder或StringBuffer中添加、插入或追加新的内容,但是String对象一旦创建,它的值就固定了。
StringBuilder与StringBuffer类的区别:
除了StringBuffer中修改缓冲区的方法是同步的以外,StringBuilder类与StringBuffer类是很相似的,如果是多任务访问,就使用StringBuffer;而如果是单任务访问,使用StringBuilder会更有效。StringBuilder/StringBuffer类中的构造方法和其他方法几乎是完全一样的。

所以主要的使用方法和区别都跟楼主所说的那样,效率,安全问题的区别




作者: 程序爱好者    时间: 2014-5-5 21:48
菠萝包丶 发表于 2014-5-5 21:12
StringBuilder/StringBuffer类与String类的区别:
StringBuilder/StringBuffer类是可以替代String类的另一 ...

总结的很好  顶一下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2