我无法解决此代码异味:
public static boolean esStringVacio(final Object valor) {
if (valor == null) {
return true;
}
String valorTrim = valor.toString().trim();
if ((valorTrim).equals("")) {
return true;
}
if ((valorTrim).equals("null")) {
return true;
}
return false;
}
尝试过但代码气味仍然存在:
if (valor == null || valor.toString().trim().equals("") || valor.toString().trim().equals("null")) {
return true;
} else {
return false;
}
答案 0 :(得分:2)
您可以将其缩短为:
return (valor == null || valor.toString().trim().equals("") || valor.toString().trim().equals("null"));
编辑: 您甚至可以缩短以下时间:
return ((String.valueOf(valor).trim().equals("null")) || (StringUtils.isBlank(valor)) ;
感谢欧内斯特的建议。
答案 1 :(得分:1)
您可以将最后3个返回值合并为一个OR,并且仍然可靠/可读。
public static boolean esStringVacio(final Object valor) {
if (valor == null) {
return true;
}
String valorTrim = valor.toString().trim();
return valorTrim.equals("") || valorTrim.equals("null");
}