StringBuilder 和 Stringbuffer 有啥区别? [复制]

Posted

技术标签:

【中文标题】StringBuilder 和 Stringbuffer 有啥区别? [复制]【英文标题】:what is the difference between StringBuilder and Stringbuffer? [duplicate]StringBuilder 和 Stringbuffer 有什么区别? [复制] 【发布时间】:2011-02-24 15:49:44 【问题描述】:

可能重复:StringBuilder and StringBuffer in Java

StringBuilder和Stringbuffer有什么区别?

【问题讨论】:

StringBuilder 有点快。 【参考方案1】:

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

经验法则 - 使用 StringBuilder 除非您有一个用例,其中一个以上线程使用 StringBuilder(这种情况非常罕见)。

【讨论】:

【参考方案2】:

取自StringBuffer的javadoc:

从 JDK 5 开始,这个类有 补充了等价物 专为单个使用而设计的类 线程,@link StringBuilder。这 StringBuilder 类应该 一般优先使用 这个,因为它支持所有 相同的操作,但速度更快,因为 它不执行同步。

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

【讨论】:

以上是关于StringBuilder 和 Stringbuffer 有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

C# string 和 stringbuilder

C# stringbuilder为啥高效

StringBuffer和StringBuilder之StringBuilder为什么线程不安全

StringBuffer 和 StringBuilder 类

Java StringBuffer和StringBuilder类

Java StringBuffer 和 StringBuilder 类