1 Star 0 Fork 0

Ray/my

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
IsNotEmptyUtil.java 3.07 KB
一键复制 编辑 原始数据 按行查看 历史
Ray 提交于 2020-08-27 16:50 . 判断参数不能为空
package com.dorago.syjapi.common.util;
import com.dorago.syjapi.common.Result;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @Auther: luoyang
* @Date: 2020/8/27 15:06
* @Description:判断参数不能为空
*/
public class IsNotEmptyUtil {
/**
* @param object 类
* @param canNullParam 可以为空的字段 "," 逗号分隔
* @attention 当类中有基本数据类型时判断无效,只判断引用类型 如:int 不生效 Integer 生效
* @return
*/
public static Result hasEmpty(Object object,String canNullParam) {
Class<?> aClass = object.getClass();
Field[] declaredFields = aClass.getDeclaredFields();
try {
for (Field field : declaredFields){
String name = field.getName();
String[] split = canNullParam.split(",");
int fz=0;//阀值
for (String s : split) {
if(name.toLowerCase().equals(s.toLowerCase())){
fz++;
}
}
if(fz>0){
continue;
}
name = name.substring(0, 1).toUpperCase() + name.substring(1);
String type = field.getGenericType().toString();
Method method = aClass.getMethod("get" + name);
if (type.contains("Integer")||type.contains("Long")||type.contains("Boolean")||type.contains("Byte")||type.contains("Character")
||type.contains("Double")||type.contains("Float")||type.contains("Short")) {
if (method.invoke(object)==null) {
return Result.buildFail(field.getName()+"不能为空");
}
}else if(type.equals("interface java.util.Set")){
Set value = (Set) method.invoke(object);
if (value==null && value.isEmpty()) {
return Result.buildFail(field.getName()+"不能为空");
}
}else if(type.equals("interface java.util.List")){
List value = (List) method.invoke(object);
if (value==null && value.isEmpty()) {
return Result.buildFail(field.getName()+"不能为空");
}
}else if(type.equals("interface java.util.Map")){
Map value = (Map) method.invoke(object);
if (value==null && value.isEmpty()) {
return Result.buildFail(field.getName()+"不能为空");
}
}
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return Result.buildSuccess();
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Ray123/mycode.git
git@gitee.com:Ray123/mycode.git
Ray123
mycode
my
master

搜索帮助