黑马程序员技术交流社区

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

作者: pcy1022    时间: 2015-1-2 20:59
标题: StringBuffer和StringBuilder
StringBuffer和StringBuilder的区别在哪里?线程安全的是哪个呢?谁的效率比较高呢?

作者: bjuth    时间: 2015-1-2 21:02
不同之处:
StringBuffer 线程同步,不安全,效率低
StringBuilder 线程不安全,安全,效率高
作者: qig123    时间: 2015-1-2 21:17
...stringbuffer线程是安全的,加锁了.所以效率低了
stringbulider线程是不安全的,效率高.除此之外,几乎和stringbuffer毫无区别
作者: 只会金克斯    时间: 2015-1-2 21:20
StringBuilder:此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
stringbuffer:可将字符串缓冲区安全地用于多个线程


API上是这么写的
作者: 新鲜感    时间: 2015-1-2 21:26
..stringbuffer线程是安全的,加锁了.所以效率低了 stringbulider线程是不安全的,效率高.除此之外,几乎和stringbuffer毫无区别  这个正解
作者: 红楼    时间: 2015-1-2 21:47
学习学习、、
作者: chenshiji    时间: 2015-1-2 22:06
支持二楼的解答!!
作者: dede风    时间: 2015-1-2 22:18
学习下----
作者: reyzarc    时间: 2015-1-2 22:35
藤椅正解……
作者: Jason996    时间: 2015-1-2 22:46
stringbuffer线程是安全的,效率低
stringbulider线程是不安全的,效率高
其他两者的用法基本一样。
作者: 赵涛涛    时间: 2015-1-2 23:18
他们的方法相同,区别只在于StringBuffer是安全线程,效率会慢一点,而StringBuilder是非安全线程,效率较高。具体的使用,还是得看需求
作者: 任我行_2014    时间: 2015-1-2 23:50
这个问题我们基础班今天晚上考试考到啦,当时不懂,现在明白啦
作者: zw937820438    时间: 2015-1-3 00:15
StringBuilder类中的方法,和StringBuffer类的方法完全一致
   区别:
     版本  Buffer开始于JDK1.0   Builder开始于JDK1.5
  StringBuffer类,线程安全的类,同步类,类的方法中 synchronized
  StringBuilder类,线程不安全的类,不同步类,类的方法中,没有synchronized
  StringBuilder速度上,快于StringBuffer,如果是单线程程序,使用Builder类,多线程程序使用Buffer类





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