StringBuilder和Stringbuffer有什么区别?

时间:2010-05-27 12:50:51

标签: java

  

可能重复:
  StringBuilder and StringBuffer in Java

StringBuilder和Stringbuffer有什么区别?

2 个答案:

答案 0 :(得分:5)

StringBuffer中的一些方法是 synchronized ,而StringBuilder不是线程安全的 - 而且速度更快。

拇指规则 - 除非你有一个用例,否则使用StringBuilder,其中一个ThreadBuilder被多个Thread使用(这种情况非常罕见)。

答案 1 :(得分:4)

取自StringBuffer的javadoc:

  

从发布JDK 5开始,这个类有   补充了等价物   专为单人使用而设的课程   thread,{@ link StringBuilder}。该   StringBuilder类应该   通常优先使用   这一个,因为它支持所有的   相同的操作,但它更快,因为   它没有执行同步。

基本上StringBuffer可以被多个线程同时使用,因为它是同步的,但这也使它比StringBuilder慢一点,而StringBuilder一次只能由一个线程使用。