黑马程序员技术交流社区

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

作者: 齐宁宁    时间: 2014-10-19 20:23
标题: StringBuffer与StringBuilder的区别
StringBuiffer与StringBuilder有什么区别啊?分别在什么情况下啊?求大神指点啊
作者: 英雄传说ER    时间: 2014-10-19 20:32
StringBuilder 是java1.5新增的用来代替StingBuffer功能的一个类,基本没区别,如果非要说有什么区别那就是StringBuffer线程是同步的,比较安全但是效率慢,而Stringbuilder不保证线程同步,但是效率高一点儿
作者: liu951753xz    时间: 2014-10-19 22:03
楼上说得挺对的,应该没多大区别
作者: 千里马    时间: 2014-10-19 23:03
相同之处: StringBuffer与StringBuilder都是属于字符串缓冲类,StringBuilder的API完全兼用与Stringbuffer.
作者: 千里马    时间: 2014-10-19 23:05
相同之处: StringBuffer与StringBuilder都是属于字符串缓冲类,StringBuilder的API完全兼用与Stringbuffer.
不同之处:1. StringBuffer 是线程安全的,操作效率要低,StringBuilder是线程不安全的,操作效率高。
               2. StringBuffer 是jdk1.0的时候出现的,StringBuilder是jdk1.5的时候出现 的。
作者: 肖建伟    时间: 2014-10-20 09:45
本帖最后由 肖建伟 于 2014-10-20 09:48 编辑

两者用法几乎完全一样,差别在于StringBuffer是线程安全的。StringBuilder是针对单线程设计的,不具备多线程同步,而StringBuffer具备多线程同步能力。
StringBuilder效率更高,所以在确定没有多线程的环境下优先考虑使用StringBuilder。

作者: 沙拉很好吃    时间: 2014-10-20 10:08
StringBuilder是StringBuffer的升级版,线程是不安全的,多线程用builder
作者: chen578157939    时间: 2014-10-20 16:23
一个是线程安全的,一个线程不安全
作者: 齐宁宁    时间: 2014-10-20 18:35
英雄传说ER 发表于 2014-10-19 20:32
StringBuilder 是java1.5新增的用来代替StingBuffer功能的一个类,基本没区别,如果非要说有什么区别那就是 ...

谢谢啊,
作者: wf111sxwf    时间: 2014-10-20 19:26
基本是一样的,StringBuffer是同步的  多线程中用它比较安全但是效率低




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