java判断字符串为空的5种方法及其效率


public class StringEmptyCompare {
   String s = "";
   //循环一亿次,比较效率
   long n = 100000000;   
   //方法1
   private void function1() {
     //存下起始时间
     long startTime = System.currentTimeMillis();
     for (int i = 0; i < n; i ++) {
       if (s == null || s.equals("")) ;
     }
     //存下结束时间
     long endTime = System.currentTimeMillis();
     System.out.println("方法1用时:" + (endTime - startTime) + "ms");
   }
   //方法2
   private void function2() {
     long startTime = System.currentTimeMillis();
     for (int i = 0; i < n; i ++) {
       if (s == null || s.length() < 1) ;
     }
     long endTime = System.currentTimeMillis();
     System.out.println("方法2用时:" + (endTime - startTime) + "ms");
   }
   //方法3
   private void function3() {
     long startTime = System.currentTimeMillis();
     for (int i = 0; i < n; i ++) {
       if (s == null || s.isEmpty()) ;
     }
     long endTime = System.currentTimeMillis();
     System.out.println("方法3用时:" + (endTime - startTime) + "ms");
   }
 //方法4
   private void function4() {
     long startTime = System.currentTimeMillis();
     for (int i = 0; i < n; i ++) {
       if (StringUtils.isBlank(s)) ;
     }
     long endTime = System.currentTimeMillis();
     System.out.println("方法4-StringUtils.isBlank用时:" + (endTime - startTime) + "ms");
   }
 //方法4
   private void function5() {
     long startTime = System.currentTimeMillis();
     for (int i = 0; i < n; i ++) {
       if (StringUtils.isEmpty(s)) ;
     }
     long endTime = System.currentTimeMillis();
     System.out.println("方法5-StringUtils.isEmpty用时:" + (endTime - startTime) + "ms");
   }
   public static void main(String[] args) {
     StringEmptyCompare sec = new StringEmptyCompare();
     sec.function1();
     sec.function2();
     sec.function3();
     sec.function4();
     sec.function5();
   }
 }
结果:

方法1用时:1156ms
方法2用时:563ms
方法3用时:671ms
方法4-StringUtils.isBlank用时:1344ms
方法5-StringUtils.isEmpty用时:719ms

 

可以看出,方法2效率最高;方法3与方法2效率上相差不大;方法4效率最低。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM