【发布时间】:2019-11-17 09:36:02
【问题描述】:
我无法修复此代码异味:
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;
}
【问题讨论】:
-
你不需要返回true或false,只返回checked语句的结果:)
-
只要有
if (condition) { return true; } else { return false; },就应该改用return condition; -
检查“null”。真的吗?这难道不是真实数据吗?
-
@TomHawtin-tackline 它不会发生吗?也许在一个 json 或什么的?
-
@BugsOverflow 我不想使用任何无法区分文字 null(JSON 规范直接支持)和字符串“null”的 JSON 库或 API。跨度>