Java中StringBuilder清空数据方法比较

来源:互联网 发布:c语言数组存储方式 编辑:程序博客网 时间:2024/05/21 15:38

(转载)http://blog.csdn.net/stimgo/article/details/53770376

StringBuilder 没有提供clear或empty方法。清空有3种方法:1)新生成一个,旧的由系统自动回收2)使用delete3)使用setLength将三种方法循环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=94382.Way1=62813.Way3=6469可以将各方法多重复几次,颠倒顺序,等总体来看:方法2好于方法3好于方法1


原创粉丝点击