实体类的参数判空
通过反射,判断实体类中的全部get方法(除getClass()外)
该方式适用于实体中有参数,并且参数都通过get参数名获取,并且无其他的getxxx()方法
此方法暂时为个人想法实现,不推荐使用,仅供参考
- 首先判断对象是否为null,为null则直接返回true,该对象为空
- 获取该对象的全部方法,遍历全部方法,获取以get开头的全部方法,同时排除getClass这个方法
- 反射该方法,如果该方法返回null,则该参数获取的值为null,说明此参数为null
- 如果其中有参数不为null,则返回false,说明该实体类不为空,反之,如果返回true,说明该方法的参数全部为null,此实体是一个空的实体。即:只是new了一个实体对象,并无任何值存在.
public static boolean isEmpty(Object obj) throws InvocationTargetException, IllegalAccessException {
if (obj == null) {
return true;
}
Method[] methods = obj.getClass().getMethods();
for (Method method : methods) {
String methodName = method.getName();
boolean hasGet = methodName.startsWith("get");
if (hasGet) {
if (methodName.equals("getClass")) {
continue;
}
Object invoke = method.invoke(obj);
if (invoke != null) {
return false;
}
}
}
return true;
}