uhs速度等級,千萬級測試String、StringBuffer和StringBuilder的速度

 2023-10-21 阅读 21 评论 0

摘要:面試是經常被問到String、StringBuilder和StringBuffer三者的速度有什么區別,經過測試后,這三者的執行速度關系是:StringBuilder > StringBuffer > String,測試過程如下: public class TestStringTools {public static void main(St

面試是經常被問到StringStringBuilderStringBuffer三者的速度有什么區別,經過測試后,這三者的執行速度關系是:StringBuilder > StringBuffer > String,測試過程如下:

public class TestStringTools {public static void main(String[] args) {// 測試String速度System.out.println("String 開始時間"+System.currentTimeMillis());String testString = "test";for(int i=0; i<=100000; i++) {testString = testString + "第" + i + "個";}System.out.println("String 結束時間"+System.currentTimeMillis());// 測試StringBuilder速度System.out.println("StringBuilder 開始時間"+System.currentTimeMillis());StringBuilder testBuilder = new StringBuilder("test");for(int i=0; i<=10000000; i++) {testBuilder.append("第" + i + "個");}System.out.println("StringBuilder 結束時間"+System.currentTimeMillis());// 測試StringBuffer速度System.out.println("StringBuffer 開始時間"+System.currentTimeMillis());StringBuffer testBuffer = new StringBuffer("test");for(int i=0; i<=10000000; i++) {testBuffer.append("第" + i + "個");}System.out.println("StringBuffer 結束時間"+System.currentTimeMillis());}}

由于用 String 做字符串拼接實在太慢了,因此我們這里只進行10萬次循環,而StringBuilderStringBuffer進行1千萬次循環,然后對結果進行比較:
在這里插入圖片描述
String 進行10萬次字符串拼接,時間是:42354毫秒
StringBuilder 進行1千萬次字符串拼接,時間是:445毫秒
StringBuffer 進行1千萬次字符串拼接,時間是:755毫秒

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/153948.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息