2010-05-27 59 views

回答

4

在StringBuffer的一些方法是同步而StringBuilder的不是線程安全 - 和更快。

規則的拇指 - 使用StringBuilder,除非你有一個用例,其中一個StringBuilder被多個Thread使用(這將是一個非常罕見的情況)。

3

從的StringBuffer的Javadoc摘自:

作爲釋放JDK 5,這類已 補充了等效 類設計用於由單個 螺紋,{@link StringBuilder的}。 StringBuilder類應該 一般優先於 這一個,因爲它支持所有的 相同的操作,但它更快,因爲 它不執行同步。

基本上StringBuffer可以被多個線程同時使用,因爲它是同步的,但是這也使得它比StringBuilder慢一次只能被一個線程一次使用。