淺談StringBuffer類初始容量及擴容
阿新 • • 發佈:2018-12-31
StringBuffer類可以建立可修改的字串序列。該類有StringBuffer(),StringBuffer(int size),StringBuffer(String s)三個改造方法。
1.StringBuffer()的初始容量可以容納16個字元,當該物件的實體存放的字元的長度大於16時,實體容量就自動增加。StringBuffer物件可以通過length()方法獲取實體中存放的字元序列長度,通過capacity()方法來獲取當前實體的實際容量。
2.StringBuffer(int size)可以指定分配給該物件的實體的初始容量引數為引數size指定的字元個數。當該物件的實體存放的字元序列的長度大於size個字元時,實體的容量就自動的增加。以便存放所增加的字元。
3.StringBuffer(String s)可以指定給物件的實體的初始容量為引數字串s的長度額外再加16個字元。當該物件的實體存放的字元序列長度大於size個字元時,實體的容量自動的增加,以便存放所增加的字元。
接下來介紹StringBuffer()怎樣擴容:
首先我們需要知道StringBuffer和StringBuilder類都繼承了抽象類AbstractStringBuilder類;
原始碼都呼叫父類來進行初始化:
StringBuffer(String s)的初始化: