apache的replace,trim方法 StringUtils.replace(),StringUtils.trimWhitespace()
java原生的replace,trim方法之间性能的巨大差别。
- 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
- 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