博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象内List数组为空处理成长度为0的list
阅读量:5917 次
发布时间:2019-06-19

本文共 823 字,大约阅读时间需要 2 分钟。

public static void handlerNullList(Object object) {

try {
Class<? extends Object> clazz = object.getClass();
Method[] declaredMethods = clazz.getDeclaredMethods();
for(Method method : declaredMethods) {
String methodName = method.getName();
Class<?> type = method.getReturnType();
if(methodName.indexOf("get") == 0 && List.class.equals(type)) {
List getList = (List) method.invoke(object, null);
if(getList == null) {
String setMethodName = methodName.replaceFirst("g", "s");
//数组初始化(找到对应set方法,get返回值类型)
Method setMethod = clazz.getDeclaredMethod(setMethodName, List.class);
setMethod.invoke(object, Collections.emptyList());
} else {
if(getList.size() != 0) {
for(Object obj : getList) {
handlerNullList(obj);
}
}
}
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}

转载于:https://blog.51cto.com/12165865/2369109

你可能感兴趣的文章
下列说法正确的有:()
查看>>
栈帧 动态链接
查看>>
图像显示深入学习二:setContentView(...)过程分析
查看>>
vim介绍 颜色显示 一般模式下移动光标、复制、剪切、粘贴
查看>>
DR模式LVS搭建、keepalived+LVS
查看>>
CentOS6.5 安装ZooKeeper3.4.10
查看>>
企业级框架整合Springmvc+mybatis+restful+bootstrap
查看>>
SaaS加速器 III 技术中心:提供SaaS Launchkit,快速定制,一云多端等能力,一云多端将通过小程序云实现...
查看>>
iptables实例之nat表应用
查看>>
Kafka Producer Consumer
查看>>
JSP 语法
查看>>
表白程序?79行Python表白程序已发送,请接收,滴滴滴
查看>>
JS 获取浏览器和屏幕宽高信息
查看>>
visualvm监控tomcat
查看>>
虚拟机类加载机制(主动应用和被动引用)
查看>>
如何让ajaxfileupload.js支持IE9,IE10,并可以传递多个参数?
查看>>
VirtualBox 5 WIN10系统下切换到全屏设置方法:
查看>>
router.replace和router.push的区别
查看>>
[11/N]论得趣
查看>>
12306又抽风了-20160427
查看>>