2 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
不需要使用StringBuffer
ingrow()
方法。
在grow()
方法中,創(chuàng)建一個(gè)具有2*buffer.length
容量的臨時(shí)數(shù)組,迭代buffer
并將元素復(fù)制到臨時(shí)數(shù)組,buffer
使用臨時(shí)數(shù)組進(jìn)行更新。

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
不確定你的grow函數(shù)在做什么,但如果你想增加你的函數(shù)的大小buffer,你必須創(chuàng)建一個(gè)新數(shù)組 - 因?yàn)閿?shù)組無(wú)法調(diào)整大小 - 并將舊數(shù)據(jù)復(fù)制到新數(shù)組。然后將緩沖區(qū)重新分配給新數(shù)組:
private void grow() {
int [] temp = new int[buffer.length * 2];
for (int i = 0; i < size; i++) {
temp[i] = buffer[i];
}
buffer = temp;
}
添加回答
舉報(bào)