日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中StringBuilder的清空方法比較

發(fā)布時間:2023/12/10 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中StringBuilder的清空方法比較 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
StringBuilder 沒有提供clear或empty方法。
清空有3種方法:
1)新生成一個,舊的由系統(tǒng)自己主動回收
2)使用delete
3)使用setLength

將三種方法循環(huán)1000萬次,代碼:


1.public class sbbm {

2.

3.??? static String a;

4.??? static long time ;

5.??? public static void main( String[] args ) throws Exception {

6.???????

7.???????? StringBuilder sb = new StringBuilder();

8.???????? StringBuilder sb3 = new StringBuilder();

9.????????

10.???????? time = System.currentTimeMillis();

11.????????? for( int i = 0; i < 10000000; i++ ) {

12.????????????? StringBuilder sb2 = new StringBuilder();

13.????????????? sb2.append( "someStr6ing" );

14.????????????? sb2.append( "someS5tring2" );

15.????????????? sb2.append( "some3Strin4g" );

16.????????????? sb2.append( "so3meStr5ing" );

17.????????????? sb2.append( "so2meSt7ring" );

18.????????????? a = sb2.toString();

19.????????? }

20.????????? System.out.println( "Way2="+(System.currentTimeMillis()-time) );

21.??????????

22.

23.??????? time = System.currentTimeMillis();

24.??????? for( int i = 0; i < 10000000; i++ ) {

25.??????????? sb.delete( 0, sb.length() );

26.??????????? sb.append( "someString" );

27.??????????? sb.append( "someString2" );

28.??????????? sb.append( "someStrin4g" );

29.??????????? sb.append( "someStr5ing" );

30.??????????? sb.append( "someSt7ring" );

31.??????????? a = sb.toString();

32.??????? }

33.??????? System.out.println( "Way1="+(System.currentTimeMillis()-time) );

34.

35.??????? time = System.currentTimeMillis();

36.??????? for( int i = 0; i < 10000000; i++ ) {

37.

38.??????????? sb3.setLength( 0 );

39.??????????? sb3.append( "someStr55ing" );

40.??????????? sb3.append( "some44String2" );

41.??????????? sb3.append( "som55eStrin4g" );

42.??????????? sb3.append( "some66Str5ing" );

43.??????????? sb3.append( "so33meSt7ring" );

44.??????????? a= sb3.toString() ;

45.??????? }

46.??????? System.out.println( "Way3="+(System.currentTimeMillis()-time) );

47.?

48.?????

49.??? }

50.}


注意append的字符串要都不同樣,否則會由于java 的String? pool對結果造成影響(即3好于2)

結果:


1.Way2=9438

2.Way1=6281

3.Way3=6469

能夠將各方法多反復幾次,點到順序,等
整體來看:方法2好于方法3好于方法1

轉載于:https://www.cnblogs.com/bhlsheji/p/4290917.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的Java中StringBuilder的清空方法比較的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。