A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 云123 中级黑马   /  2015-7-20 00:04  /  504 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

StringBuffer和StringBuilder各是什么?他们之间有什么联系,有什么异同点?

12 个回复

倒序浏览
StringBuffer 是个可变的对象,就是每次操作都是对对象本身进行操作,而不用生成新的对象,这样效率肯定就会有有很大的提高,在大部分情况下StringBuffer的效率要比String类型要高
StringBuilder 与StringBuffer一样是个可变的字符序列,提供与StringBuffer兼容的API,但是不能保证同步,用在字符串缓冲区被当个线程使用的情况,在单机非多线程的情况下使用StringBuilder会有比较好的效率,因为StringBuilder没有处理同步(Synchronized)问题。StringBuffer则会处理同步问题,如果StringBuilder会在多线程下被操作,则要改用StringBuffer,让对象自行管理同步问题。
回复 使用道具 举报
e咕噜 发表于 2015-7-20 21:45
StringBuffer 是个可变的对象,就是每次操作都是对对象本身进行操作,而不用生成新的对象,这样效率肯定就 ...

不错,有心了
回复 使用道具 举报
e咕噜 发表于 2015-7-20 21:45
StringBuffer 是个可变的对象,就是每次操作都是对对象本身进行操作,而不用生成新的对象,这样效率肯定就 ...

  :)  学习了
回复 使用道具 举报
你们黑马的录取过了吗?
回复 使用道具 举报
好详细啊
回复 使用道具 举报
e咕噜 发表于 2015-7-20 21:45
StringBuffer 是个可变的对象,就是每次操作都是对对象本身进行操作,而不用生成新的对象,这样效率肯定就 ...

能不能举个例子,感觉概念有点模糊
回复 使用道具 举报
刚看了下这章,两者最大的区别在于StringBuffer相对于String来说长度和内容都是可以改变的,StringBuffer相当于字符容器,改变其中的内容并不会产生新的对象.其次String覆盖了object的equal方法,而Stringbuffer没有覆盖equal()方法,最后String类对象可以进行+连接,而StringBuffer则不行会发生编译报错
回复 使用道具 举报
三土 中级黑马 2015-7-23 22:25:16
9#
2L正解!看效率和需求选择
回复 使用道具 举报
不错,有心了
回复 使用道具 举报
学习了 !
回复 使用道具 举报
线程安全和不安全的区别
回复 使用道具 举报
不错   要是在细点就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马