java开发优化之字符串分割

来源:互联网 发布:日理万机的网络意思 编辑:程序博客网 时间:2024/05/28 19:24

总结下字符串分割的相关实现方法。供需要的朋友查看。以下代码通过三种方式进行粗略比较。至于哪个更优请结合具体情况自行判断

/* * Copyright (C), 2016-2017, xxxxx * FileName: StringOptimization.java * Author:   me * Date:     2017年9月27日 下午2:18:15 */package system;import java.util.StringTokenizer;/** * @Author me * @Creation   2017年9月27日 下午2:18:15 * @Description: //模块目的、功能描述       */public class StringOptimization {    public static void main(String[] args) {        // TODO Auto-generated method stub    long startTime=System.currentTimeMillis();    splitTestForIndexOf("测试;分隔符;效率;哪一种好;",startTime,";");    splitTestForSplit("测试;分隔符;效率;哪一种好;",startTime,";");    splitTestForStringToken("测试;分隔符;效率;哪一种好;",startTime,";");    }    public static void splitTestForIndexOf(String str,long startTime,String label){        String tempStr=str;        //StringBuffer resultStr=new StringBuffer();        for(int i=0;i<10000;i++){            while(true){               // String splitStr=null;               int index= tempStr.indexOf(label);               if(index<0) break;                              //splitStr=tempStr.substring(0, index);               //resultStr.append(splitStr);               tempStr=tempStr.substring(index+1);            }            tempStr=str;        }        System.out.println("【splitTestForIndexOf】程序共执行"+(System.currentTimeMillis()-startTime)+"ms"+"【执行结果为】");       }    public static void splitTestForSplit(String str,long startTime,String label){        for(int i=0;i<10000;i++){            str.split(label);        }        System.out.println("【splitTestForSplit】程序共执行"+(System.currentTimeMillis()-startTime)+"ms"+"【执行结果为】");                       }    public static void splitTestForStringToken(String str,long startTime,String label){        StringTokenizer strToken=new StringTokenizer(str,label);        for(int i=0;i<10000;i++){            while(strToken.hasMoreTokens()){                strToken.nextToken();            }            strToken=new StringTokenizer(str,label);        }        System.out.println("【splitTestForStringToken】程序共执行"+(System.currentTimeMillis()-startTime)+"ms");       }}
原创粉丝点击