对象内List数组为空处理成长度为0的list
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象内List数组为空处理成长度为0的list相关的知识,希望对你有一定的参考价值。
private static void handlerNullList(Object object) {
try {
Class<? extends Object> clazz = object.getClass();
Method[] declaredMethods = clazz.getDeclaredMethods();
for(Method method : declaredMethods) {
String methodName = method.getName();
Type type = method.getAnnotatedReturnType().getType();
if(methodName.indexOf("get") == 0 && type instanceof ParameterizedType) {
ParameterizedType pt = (ParameterizedType) type;
if(pt.getRawType().equals(List.class)) {
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);
}
}
以上是关于对象内List数组为空处理成长度为0的list的主要内容,如果未能解决你的问题,请参考以下文章