欢迎来到SpringWater的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

Java 属性值 空值校验工具类

package cn.com.hyundai.mms.common.isnull;

import org.apache.commons.lang3.StringUtils;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
* 属性值 空值校验
*/
public class IsNullUtil {
public static <T> List<ValidateResult> validate(T t){
List<ValidateResult> validateResults = new ArrayList<>();
Field[] fields = t.getClass().getDeclaredFields();
for (Field field:fields) {
if (field.isAnnotationPresent(NotNull.class)) {
field.setAccessible(true);
Object value = null;
try {
value = field.get(t);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
if (value == null || "".equals(value.toString().trim())) {
NotNull notNull = field.getAnnotation(NotNull.class);
ValidateResult validateResult = new ValidateResult();
validateResult.setMessage(notNull.fileName() + "不能为空");
validateResults.add(validateResult);
} else {
if (value instanceof String) {
if (StringUtils.isBlank((String) value)) {
NotNull notNull = field.getAnnotation(NotNull.class);
ValidateResult validateResult = new ValidateResult();
validateResult.setMessage(notNull.fileName() + "不能为空");
validateResults.add(validateResult);
}
}
}
}

}
return validateResults;
}

/**
* 递归检查所有子list属性中的值是否为空
* @param o
* @return
*/
public static List<ValidateResult> checkNull(Object o){
return checkNull(o,null);
}

/**
* 递归检查所有子list属性中的值是否为空
* @param o
* @return
*/
public static List<ValidateResult> checkNull(Object o, List<ValidateResult> validateTemp) {
if (validateTemp == null) validateTemp = new ArrayList<>();
validateTemp.addAll(IsNullUtil.validate(o));
// if (validateTemp==null || validateTemp.isEmpty()){
Field[] fields = o.getClass().getDeclaredFields();
for (Field field : fields) {
Object oTemp = null;
try {
field.setAccessible(true);
oTemp = field.get(o);
} catch (IllegalAccessException e) {
e.printStackTrace();
}

// 是集合属性则递归检查
if (oTemp instanceof Collection) {
for (Object oItem : ((Collection) oTemp)) {
validateTemp = checkNull(oItem, validateTemp);
}
}
}
// }
return validateTemp;
}
}
posted @ 2021-07-23 14:48  骑ZHU看夕阳```  阅读(286)  评论(0编辑  收藏  举报