/**
* 判断字符串为空的三种方法及其效率。
*/

package ch5;

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");
  }
   public static void main(String[] args) {
    StringEmptyCompare sec = new StringEmptyCompare();
    sec.function1();
    sec.function2();
    sec.function3();
  }
}
/**
* Output:
* 方法1用时:1000ms
  方法2用时:485ms
  方法3用时:609ms
*/

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