ESCMP.EMPTYSTR

ESCMP 使用 equals() 将字符串与空字符串进行比较。不需要调用 equals() 将字符串与空字符串进行比较。s.length() 的速度快两倍。以下表达式:s.equals("") 或 "".equals(s) 可由 (s.length() == 0) 和 (s != null && s.length() == 0) 轻松替代。性能测量值(使用 Java 2 Runtime Environment、Standard Edition,内部版本 1.4.1_02-b06 完成)显示,含“equals”的代码在 147 个时间单位内执行,而含“length”的相同代码在 71 个时间单位内执行。

示例 1

复制
      public boolean emptyCheck1(String s) {
         if (s.equals("")) return true;
         return false;
     }
     public boolean emptyCheck2(String s) {
         if ("".equals(s)) return true;
         return false;
     }
     // fixed code
     public boolean emptyCheck3(String s) {
         if (s.length() == 0) return true;
         return false;
     }

针对第 10 行报告 ESCMP.EMPTYSTR:使用 equals() 代替 length() == 0 比较字符串“s”和 "" 针对第 14 行报告 ESCMP.EMPTYSTR:使用 equals() 代替 length() == 0 比较字符串 "" 和 “s”