我想为Java的所有字段编写验证。
我的空白验证方法是
private static boolean isBlank(String value) {
return value.equalsIgnoreCase("")?true:false;
}我将bean的所有属性传递给isBlank()方法,并希望在任何属性为空时退出该方法。就像这样-
public static boolean isValid(User user) {
isBlank(user.getPersonId())?return false:{I want to stay here and check next};
isBlank(user.getEmployeeNumber());
isBlank(user.getFullName());
.
.
}如何在尽可能少的代码中实现这一点。
发布于 2013-10-24 06:28:18
你不需要isBlank(String value),试试这个:
public static boolean isValid(User user){
return !(user.getPersonId().isEmpty()
|| user.getEmployeeNumber.isEmpty()
|| user.getFullName().isEmpty());}
发布于 2013-10-24 06:26:51
您可以在项目中使用Apache commons-lang并添加此静态导入:
import static org.apache.commons.lang.StringUtils.isNotEmpty;那么您的代码可以如下所示:
public static boolean isValid(User user) {
return isNotEmpty(user.getPersonId()) && isNotEmpty(user.getEmployeeNumber()) && isNotEmpty(user.getFullName());
}Apache可以下载这里 --只需确保将其作为库添加到项目中,以便您可以使用名为StringUtils的类。
发布于 2013-10-24 06:28:30
使用您的代码:
public static boolean isValid(User user) {
if (isBlank(user.getPersonId())) return false;
if (isBlank(user.getEmployeeNumber())) return false;
if (isBlank(user.getFullName())) return false;
.
.
return true;
}另一种选择是:
public static boolean isValid(User user) {
if (isBlank(user.getPersonId()) ||
isBlank(user.getEmployeeNumber()) ||
isBlank(user.getFullName())) return false;
return true;
}如果希望避免编写所有这些代码,可以使用反射来动态地发现类字段。如果使用bean范式,则可以使用探矿者类。这里一个教程(我在Oracle上找不到)。
https://stackoverflow.com/questions/19558112
复制相似问题