一.
在介紹一個字符串緩衝區的小插曲。
new了一個StringBuffer,就是相當於一個長度爲16的數組,如果裝入第個字17符怎麼辦呢?
給大家介紹一下可變程度數組,說一下其原理。首先一點,數組必須是固定長度的。
如果輸入的字符變多,系統會將原有的長度變長,一般會增加一倍。如何將原有的字符串導入新的字符串緩衝區中呢?採用遍歷的方法(遍歷沒有理解深刻)。多出來的字符就輸入增加的後半段中,這就叫做可變長度數組原理。
對於構造方法已經存在的無參數列表的方法,爲什麼還有會有一個指定初始容量的方法?
如果藉助這個方法,構建一個長度爲40的字符串緩衝區,那麼輸入第41個字符是可以的,那麼通過無參數列表的方法也可以存儲,兩者有什麼區別?(貌似字符串緩衝區是可變程度的數組) 這個兩個方法採用哪一個都是可以的,就是效率有些不一樣。
如果能夠確定數據量在40以內,直接產生一個長度爲40的數組就行了。而如果用默認的方法來處理40個元素的數據的話,一旦超過16就要延長,一要開闢空間,二是要進行運算。延長到32,發現還沒夠,還要延長。