3 回答

TA貢獻(xiàn)481條經(jīng)驗 獲得超143個贊
時間不一樣很正常。這個與你電腦有關(guān)。
System.currentTimeMillis()是獲取當(dāng)前時間與1970年凌晨之間的毫秒數(shù)。append()是StringBuilder類的一個方法,追加字符串。
不是重載字符串。它是可變字符串,String類是不可變字符串,使用StringBuilder類可以減少多余的字符串,節(jié)省內(nèi)存空間。


TA貢獻(xiàn)6條經(jīng)驗 獲得超1個贊
毫無疑問結(jié)果肯定不一樣,因為使用System.currentTimeMillis()這個是按照毫秒數(shù)級別計算,與你的計算機(jī)本身的計算性能有關(guān)系。
上面的代碼目的在于比較String 和StringBuffer 的計算開銷能力,String 的存儲能力不及StringBuffer ,所以每次循環(huán)增加一個字符長度的是需要重新劃去一塊內(nèi)存空間存儲,而StringBuffer不一樣,他的存儲空間比String大的太多,不許要開辟新的空間,所以計算速度比較快,兩者之間的差別在于String適應(yīng)用于比字符段較小數(shù)據(jù)的存儲計算,而StringBuffer適用于大的數(shù)據(jù)存儲計算。
System.currentTimeMillis()獲取當(dāng)前時間毫秒數(shù)按照樓上多說的那種從1970 年的那個基數(shù)計算,append()方法則是通過追加的方式去添加一個字符串。
StringBuilder 是一個數(shù)據(jù)類型,看上面說的你就知道了。
添加回答
舉報