1. 程式人生 > >StringBuilder 的容量(StringBuilder Capacity)

StringBuilder 的容量(StringBuilder Capacity)

在使用StringBuilder 例項的時候,你不需要關心它為其儲存的字串分配了多大的記憶體,它會自動為字串建立足夠的記憶體。

Capacity 屬性表明了一個StringBuilder 例項最多可以儲存多少個字元,當儲存的字元所需的空間大於這個數的時候,StringBuilder 會自動增大記憶體,增加Capacity

StringBuilder 例項的Length 屬性則表示當前儲存的字串的長度。

預設情況下,Capacity 屬性初始值為16,當需要更多空間的是它就會翻倍

StringBuilder sb1 = new StringBuilder();    // Len=0, Cap=16
sb1.Append("1234567890123456");             // 字串長度=16, 容量=16
sb1.Append("z");                            // 字串長度=17, 容量=32
sb1.Append("1234567890123456");             // 字串長度=33, 容量=64

你也可以在構造StringBuilder 例項的時候指定初始容量:

StringBuilder sb2 = new StringBuilder(100);