码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-04-25 11:57:34      阅读:988      评论: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

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!