apache的replace,trim方法 StringUtils.replace(),StringUtils.trimWhitespace() java原生
apache的replace,trim方法 StringUtils.replace(),StringUtils.trimWhitespace()java原生的replace,trim方法之间性能的巨大差别。
Java代码
[*]public class App
[*]{
[*] final static String teString = " 555555599999999999999999aaa sss ssaaaaaaaaaaaaaatasdtatastasrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ";
[*] public static void main( String[] args )
[*] {
[*] int t = 100000;
[*] long start1 = System.nanoTime();
[*] long stringUtilsReplaceTime = 0;
[*] long stringUtilsTrimTime = 0;
[*] long stringReplaceTime = 0;
[*] long stringTrimTime = 0;
[*] for(int i= 0;i<t;i++){
[*] StringUtils.replace(teString,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b");
[*] }
[*] stringUtilsReplaceTime= System.nanoTime()-start1;
[*]
[*]
[*] start1 = System.nanoTime();
[*] for(int i= 0;i<t;i++){
[*] teString.replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "b");
[*] }
[*]
[*] stringReplaceTime = System.nanoTime()-start1;
[*]
[*] start1 = System.nanoTime();
[*] for(int i= 0;i<t;i++){
[*] teString.trim();
[*] }
[*] stringTrimTime = System.nanoTime()-start1;
[*]
[*]
[*] start1 = System.nanoTime();
[*] for(int i= 0;i<t;i++){
[*]
[*] StringUtils.trimWhitespace(teString);
[*] }
[*]
[*] stringUtilsTrimTime = System.nanoTime()-start1;
[*]
[*] System.out.println("stringUtilsReplaceTime:"+stringUtilsReplaceTime);
[*] System.out.println("stringReplaceTime :"+stringReplaceTime);
[*] System.out.println("stringUtilsTrimTime :"+stringUtilsTrimTime);
[*] System.out.println("stringTrimTime :"+stringTrimTime);
[*] }
[*]
[*]}
输出结果为:
stringUtilsReplaceTime:293389595
stringReplaceTime :1019421816
stringUtilsTrimTime :176730378
stringTrimTime :3888271
Java代码
[*]public class App
[*]{
[*] final static String teString = " 555555599999999999999999aaa sss ssaaaaaaaaaaaaaatasdtatastasrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ";
[*] public static void main( String[] args )
[*] {
[*] int t = 100;
[*] long start1 = System.nanoTime();
[*] long stringUtilsReplaceTime = 0;
[*] long stringUtilsTrimTime = 0;
[*] long stringReplaceTime = 0;
[*] long stringTrimTime = 0;
[*] for(int i= 0;i<t;i++){
[*] StringUtils.replace(teString,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b");
[*] }
[*] stringUtilsReplaceTime= System.nanoTime()-start1;
[*]
[*]
[*] start1 = System.nanoTime();
[*] for(int i= 0;i<t;i++){
[*] teString.replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "b");
[*] }
[*]
[*] stringReplaceTime = System.nanoTime()-start1;
[*]
[*] start1 = System.nanoTime();
[*] for(int i= 0;i<t;i++){
[*] teString.trim();
[*] }
[*] stringTrimTime = System.nanoTime()-start1;
[*]
[*]
[*] start1 = System.nanoTime();
[*] for(int i= 0;i<t;i++){
[*]
[*] StringUtils.trimWhitespace(teString);
[*] }
[*]
[*] stringUtilsTrimTime = System.nanoTime()-start1;
[*]
[*] System.out.println("stringUtilsReplaceTime:"+stringUtilsReplaceTime);
[*] System.out.println("stringReplaceTime :"+stringReplaceTime);
[*] System.out.println("stringUtilsTrimTime :"+stringUtilsTrimTime);
[*] System.out.println("stringTrimTime :"+stringTrimTime);
[*] }
[*]
[*]}
结果为:
stringUtilsReplaceTime:94864540
stringReplaceTime :8341259
stringUtilsTrimTime :953821
stringTrimTime :57856
页:
[1]