-
public final class StringBuilder
- extends Object
- implements Serializable, CharSequence
一個可變的字符序列。此類提供一個與 StringBuffer
兼容的 API,但不保證同步。該類被設(shè)計用作 StringBuffer
的一個簡易替換,用在字符串緩沖區(qū)被單個線程使用的時候(這種情況很普遍)。如果可能,建議優(yōu)先采用該類,因為在大多數(shù)實現(xiàn)中,它比 StringBuffer
要快。
在 StringBuilder
上的主要操作是 append
和 insert
方法,可重載這些方法,以接受任意類型的數(shù)據(jù)。每個方法都能有效地將給定的數(shù)據(jù)轉(zhuǎn)換成字符串,然后將該字符串的字符追加或插入到字符串生成器中。append
方法始終將這些字符添加到生成器的末端;而 insert
方法則在指定的點添加字符。
例如,如果 z
引用一個當(dāng)前內(nèi)容為 "start
" 的字符串的生成器對象,則該方法調(diào)用 z.append("le")
將使字符串生成器包含 "startle
",而 z.insert(4, "le")
將更改字符串生成器,使之包含 "starlet
"。
通常,如果 sb 引用 StringBuilder
的實例,則 sb.append(x)
和 sb.insert(sb.length(),?x)
具有相同的效果。每個字符串生成器都有一定的容量。只要字符串生成器所包含的字符序列的長度沒有超出此容量,就無需分配新的內(nèi)部緩沖區(qū)。如果內(nèi)部緩沖區(qū)溢出,則此容量自動增大。
將 StringBuilder
的實例用于多個線程是不安全的。如果需要這樣的同步,則建議使用 StringBuffer
。
posted on 2009-01-06 10:59
蔣家狂潮 閱讀(294)
評論(0) 編輯 收藏 所屬分類:
Basic