Java 判断实体对象及所有属性是否为空的操作
1、判断实体对象是否为空
2、判断对象所有属性是否为空
3、特别注意,实体类中如果有基本数据类型,会影响判断
packagecom.liuxd.object; importorg.apache.commons.lang3.StringUtils; importjava.lang.reflect.Field; /** *CreatedbyLiuxdon2018/11/2. */ publicclassTestEntity{ publicstaticvoidmain(String[]args){ Useruser1=newUser("Jack","male",17); Useruser2=newUser(); booleanu1Flag=checkObjAllFieldsIsNull(user1); booleanu2Flag=checkObjAllFieldsIsNull(user2); System.out.println("user1是否为空:"+u1Flag); System.out.println("user2是否为空:"+u2Flag); } /** *判断对象中属性值是否全为空 * *@paramobject *@return */ publicstaticbooleancheckObjAllFieldsIsNull(Objectobject){ if(null==object){ returntrue; } try{ for(Fieldf:object.getClass().getDeclaredFields()){ f.setAccessible(true); System.out.print(f.getName()+":"); System.out.println(f.get(object)); if(f.get(object)!=null&&StringUtils.isNotBlank(f.get(object).toString())){ returnfalse; } } }catch(Exceptione){ e.printStackTrace(); } returntrue; } }
实体类:
packagecom.liuxd.object; /** *CreatedbyLiuxdon2018/11/2. */ publicclassUser{ privateStringname; privateStringgender; /** *如果属性类型为基本数据类型,则会有默认值 *影响正确判断,请特别注意 */ //privateintage; privateIntegerage; publicUser(){ } publicUser(Stringname,Stringgender,intage){ this.name=name; this.gender=gender; this.age=age; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetGender(){ returngender; } publicvoidsetGender(Stringgender){ this.gender=gender; } publicIntegergetAge(){ returnage; } publicvoidsetAge(Integerage){ this.age=age; } }
输出结果:
name:Jack name:null gender:null age:null user1是否为空:false user2是否为空:true
补充知识:Java判断一个实体类对象实例的所有成员变量是否为空
看代码吧~
/** *判断一个实体类对象实例的所有成员变量是否为空 *@paramobj校验的类对象实例 *@returnList *@throwsException */ publicstaticListisObjectFieldEmpty(Objectobj)throwsException{ Class>clazz=obj.getClass();//得到类对象 Field[]fs=clazz.getDeclareFields();//得到属性集合 List list=newArrayList (); for(Fieldfield:fs){//遍历属性 field.setAccessible(true);//设置属性是可以访问的(私有的也可以) if(field.get(obj)==null||field.get(obj)==""||"null".equalsIngnoreCase(String)field.get(obj))){ Stringname=(String)field.getName(); list.add(name); } } returnlist; }
以上这篇Java判断实体对象及所有属性是否为空的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。