Java代码如何判断对象是否所有属性为空呢?
下文笔者讲述使用java代码检测对象是否所有属性为空的方法分享,如下所示
对象是否所有属性为空的检测方法
使用反射依次遍历对象的信息 然后依次检测对象的属性是否为空例:检测一个对象的所有属性是否为空
import java.util.*; import java.lang.reflect.Field; public class ObjectUtil { /** * 判断该对象是否所有属性为空 * 返回ture表示所有属性为null,返回false表示不是所有属性都是null */ public static boolean isAllFieldNull(Object object) { boolean flag = true; Class clazz = object.getClass(); Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { //设置属性是可以访问的(私有的也可以) field.setAccessible(true); Object value = null; try { value = field.get(object); // 只要有1个属性不为空,那么就不是所有的属性值都为空 if (value != null) { flag = false; break; } } catch (IllegalAccessException e) { e.printStackTrace(); } } return flag; } } 根据对象的字段名取出字段值 /** * 反射根据对象的字段名取出字段值 * @param object 类对象 * @param pEntity 字段名 */ public static Object getFieldP(Object object, String pEntity){ Class clazz = object.getClass(); try { Field field =clazz.getDeclaredField(pEntity); field.setAccessible(true); return field.get(object); } catch (Exception e) { e.printStackTrace(); } return null; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。