在使用StringBuffer與StringBuilder的差異
- StringBuffer類別所代表的緩衝區都有一定的容量,只要字串緩衝區所包含的字串長度沒有超出此容量,就無需再分配新的內部緩衝區陣列。如果內部緩衝區溢位,則此字串容量會自動增大。
- StringBuilder類別是一個可變長度的字串,它提供一個與StringBuffer相容的應用程式介面,但是不保證同步。該類別被設計用來當作StringBuffer的一個簡易替換,用在字串緩衝區被單一執行緒使用的時候。如果可能,建議優先採用該類別,因為在大多數程式的實作中,它比StringBuffer要快。
- 每個StringBuilder都有一定的容量,只要StringBuilder所包含的字串長度沒有起出此容量,就無需分配新的內部緩衝區。如果內部緩衝區溢位,則此容量自動增大。
- 將StringBuilder用於多個執行緒是不安全的,如果應用程式需要具備同步的功能,則建議使用StringBuffer。
- 基本上StringBuilder與StringBuffer類別的功能相同,主要差異點在於是否用於多執行緒的環境。StringBuffer因為需要考慮到執行緒安全,效能較差;StringBuilder不需要考慮執行緒的問題,因此效能較
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。