stringbuilder默認大小?
StringBuilder 以及 StringBuffer默認大小與擴容
默認值初始化:
1. 首先明確 StringBuffer類與 StringBuilder類均繼承了抽象類 AbstractStringBuilder類
?
無參構(gòu)造方法
2. 源碼中StringBuffer類和StringBuilder類初始化均調(diào)用父類的構(gòu)造方法:
?
父類初始化:
?
子類默認傳入值16 給父類初始化字符數(shù)組
有參構(gòu)造方法:
?
擴容算法:
使用append()方法在字符串后面追加東西的時候,如果長度超過了該字符串存儲空間大小了就需要進行擴容:構(gòu)建新的存儲空間更大的字符串,將久的復制過去;
再進行字符串a(chǎn)ppend添加的時候,會先計算添加后字符串大小,傳入一個方法:ensureCapacityInternal 這個方法進行是否擴容的判斷,需要擴容就調(diào)用expandCapacity方法進行擴容:
下一篇黃藥師是怎么死的