zoukankan      html  css  js  c++  java
  • Java中StringBuilder的清空方法比较

    摘自:http://blog.chinaunix.net/uid-20745012-id-271466.html

    StringBuilder 没有提供clear或empty方法。

    清空有3种方法:

      1)新生成一个,旧的由系统自动回收

      2)使用delete

      3)使用setLength

    将三种方法循环1000万次,代码:

    /**
     * @作者 whs
     * @创建日期 2015年1月30日
     * @版本 V 1.0
     */
    package strdemo;
    
    public class StrBuilder {
    	
    	static String a;
    	static long time;
    	
    	public static void main(String[] args) {
    		StringBuilder sb = new StringBuilder();
    		StringBuilder sb2=new StringBuilder();
    		time = System.currentTimeMillis();
    		for(int i=0;i<10000000;i++){
    			sb.delete(0, sb.length());
    			sb.append("someThi1ng");
    			sb.append("someThi2ng");
    			sb.append("someThi3ng");
    			sb.append("someThi4ng");
    			sb.append("someThi5ng");
    			sb.append("someThi6ng");
    			a = sb.toString();
    		}
    		System.out.println("Way1="+(System.currentTimeMillis()-time));
    
    		time = System.currentTimeMillis();
    		for(int i=0;i < 10000000;i++){
    			sb2.setLength(0);
    			sb2.append("someThin1g");
    			sb2.append("someThin2g");
    			sb2.append("someThin3g");
    			sb2.append("someThin4g");
    			sb2.append("someThin5g");
    			sb2.append("someThin6g");
    			a = sb2.toString();
    		}
    		System.out.println("Way2="+(System.currentTimeMillis()-time));
    		
    		time=System.currentTimeMillis();
    		for(int i=0;i < 10000000;i++){
    			StringBuilder sb3=new StringBuilder();
    			sb3.append("someThing1");
    			sb3.append("someThing2");
    			sb3.append("someThing3");
    			sb3.append("someThing4");
    			sb3.append("someThing5");
    			sb3.append("someThing6");
    			a=sb3.toString();
    		}
    		System.out.println("Way3="+(System.currentTimeMillis()-time));
    		
    	}
    }
    

    注意append的字符串要都不相同,否则会因为java 的String  pool对结果造成影响(即Way1好于Way2)
    结果:

    1. Way1=1672
      Way2=1632
      Way3=2532

     

    可以将各方法多重复几次,点到顺序,等 总体来看:Way2好于Way1好于Way3

  • 相关阅读:
    本地存储 localStorage
    正则对象
    面向对象
    事件
    日期对象
    网易适配与淘宝适配
    自动把网页px单位转换成rem
    湖南省web应用软件(中慧杯)
    百度图片审核功能
    百度ai语音识别
  • 原文地址:https://www.cnblogs.com/whsa/p/4262640.html
Copyright © 2011-2022 走看看