java判断是否空值_JAVA 判断对象内容是否含有空值

简单判断对象是否含有NULL值,以及信息描述。

packagecom.sicdt.sicsign.bill.api.util;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;importcom.alibaba.fastjson.JSONObject;importcom.sicdt.sicsign.bill.api.model.CheckResultModel;public classCheckResultMsg {private booleanisSuccess;privateString massgage;private List successes = new ArrayList<>();//验证通过

private List fails = new ArrayList<>();//验证失败

publicCheckResultMsg() {super();//TODO Auto-generated constructor stub

}/***
描 述: 校验入参对象,是否含有空值

*
作 者: shizhenwei

*
历 史: (版本) 作者 时间 注释

*@paramobj

*@return*@throwsIllegalAccessException

*@throwsIllegalArgumentException

*@throwsInvocationTargetException*/

public staticCheckResultMsg checkObject(Object obj){

CheckResultMsg resultMsg= newCheckResultMsg();if(null==obj){

resultMsg.setSuccess(true);

resultMsg.setMassgage("入参对象为NULL");returnresultMsg;

}

resultMsg.setSuccess(true);

List successes =resultMsg.getSuccesses();

List fails =resultMsg.getSuccesses();

Class> clazz =obj.getClass();

Method[] methods=clazz.getDeclaredMethods();

JSONObject jsonMsg= newJSONObject();for(Method method : methods){

String methodName=method.getName();if(methodName.startsWith("get")){

Object res= null;try{

res=method.invoke(obj);

}catch (IllegalAccessException | IllegalArgumentException |InvocationTargetException e) {

e.printStackTrace();

resultMsg.setSuccess(false);returnresultMsg;

}if(null==res){

String fieldName= methodName.substring(3);

String fieldMsg= "不允许为NULL";

jsonMsg.put(fieldName, fieldMsg);

CheckResultModel model= new CheckResultModel(fieldName, fieldMsg, false);

fails.add(model);if(resultMsg.isSuccess()){

resultMsg.setSuccess(false);

}

}else{

CheckResultModel model= new CheckResultModel(methodName.substring(3), "正确", true);

successes.add(model);

}

}

}

resultMsg.setMassgage(jsonMsg.toJSONString());returnresultMsg;

}/***
描 述: 校验入参对象,指定属性,是否含有空值

*
作 者: shizhenwei

*
历 史: (版本) 作者 时间 注释

*@paramobj

*@return*@throwsIllegalAccessException

*@throwsIllegalArgumentException

*@throwsInvocationTargetException*/

public static CheckResultMsg checkObject(Object obj, String[] fileds, booleanisCheckFileds){

CheckResultMsg resultMsg= newCheckResultMsg();if(null==obj){

resultMsg.setSuccess(true);

resultMsg.setMassgage("入参对象为NULL");returnresultMsg;

}

resultMsg.setSuccess(true);

List successes =resultMsg.getSuccesses();

List fails =resultMsg.getSuccesses();

Class> clazz =obj.getClass();

Method[] methods=clazz.getDeclaredMethods();

JSONObject jsonMsg= newJSONObject();for(Method method : methods){

String methodName=method.getName();

String fieldName= methodName.substring(3);

List filedList =Arrays.asList(fileds);if(filedList.contains(fieldName) ==isCheckFileds){if(methodName.startsWith("get")){

Object res= null;try{

res=method.invoke(obj);

}catch (IllegalAccessException | IllegalArgumentException |InvocationTargetException e) {

e.printStackTrace();

resultMsg.setSuccess(false);returnresultMsg;

}if(null==res){

String fieldMsg= "不允许为NULL";

jsonMsg.put(fieldName, fieldMsg);

CheckResultModel model= new CheckResultModel(fieldName, fieldMsg, false);

fails.add(model);if(resultMsg.isSuccess()){

resultMsg.setSuccess(false);

}

}else{

CheckResultModel model= new CheckResultModel(methodName.substring(3), "正确", true);

successes.add(model);

}

}

}else{continue;

}

}

resultMsg.setMassgage(jsonMsg.toJSONString());returnresultMsg;

}publicString description(){

String message= "";if(this.isSuccess){

message+= "参数检查正确:";

}else{

message+= "参数检查错误:";

}return message+this.massgage;

}public booleanisSuccess() {returnisSuccess;

}public void setSuccess(booleanisSuccess) {this.isSuccess =isSuccess;

}publicString getMassgage() {returnmassgage;

}public voidsetMassgage(String massgage) {this.massgage =massgage;

}public ListgetSuccesses() {returnsuccesses;

}public void setSuccesses(Listsuccesses) {this.successes =successes;

}public ListgetFails() {returnfails;

}public void setFails(Listfails) {this.fails =fails;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值