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”