首页 > 编程语言 > 详细

java 利用反射获取类对象中List的值

时间:2015-04-25 11:56:04      阅读:1323      评论:0      收藏:0      [点我收藏+]

Field[] fields = Object.getClass().getDeclaredFields();//Object是已经被赋值的对象实例 for (Field field : fields) {if (!field.isAccessible()) { field.setAccessible(true); } if (List.class.isAssignableFrom(field.getType())) { Type t = field.getGenericType(); if (t instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType) t; Class clz = (Class) pt.getActualTypeArguments()[0];//得到对象list中实例的类型 Class clazz = field.get(db).getClass();//获取到属性的值的Class对象 Method m= clazz.getDeclaredMethod("size"); int size = (Integer) m.invoke(field.get(db));//调用list的size方法,得到list的长度 for (int i = 0; i < size; i++) {//遍历list,调用get方法,获取list中的对象实例 Method getM= clazz.getDeclaredMethod("get", int.class); if(!getM.isAccessible()){ getM.setAccessible(true); } mHelper.getDao(clz).createOrUpdate(getM.invoke(field.get(db), i));//加入到Ormlite数据库中 } } }

 

java 利用反射获取类对象中List的值

原文:http://www.cnblogs.com/sleepend/p/4455652.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!