利用反射java对象赋值,省略重复get,set赋值.
2018-03-07 15:08
330 查看
package zgzt.jfzz.base.domain.msmember; import com.alibaba.fastjson.util.DeserializeBeanInfo; import com.alibaba.fastjson.util.FieldInfo; import com.alibaba.fastjson.util.TypeUtils; import java.lang.reflect.Type; import java.util.List; /** * Created by admin on 2018/3/7. */ public class Copyer { public static <B, S extends B> void Copy(B bo, S so) throws IllegalAccessException { try { Class bc = bo.getClass(); if (bo == null || so == null) { return; } DeserializeBeanInfo deserializeBeanInfo = DeserializeBeanInfo.computeSetters(so.getClass(), (Type) so.getClass()); List<FieldInfo> getters = TypeUtils.computeGetters(bo.getClass(), null); List<FieldInfo> setters = deserializeBeanInfo.getFieldList(); Object v; FieldInfo getterfield; FieldInfo setterfidld; for (int j = 0; j < getters.size(); j++) { getterfield=getters.get(j); for (int i = 0; i < setters.size(); i++) { setterfidld=setters.get(i); System.out.println(setterfidld.getName()); System.out.println(getterfield.getName()); if (setterfidld.getName().compareTo(getterfield.getName()) == 0) { v = getterfield.getMethod().invoke(bo); setterfidld.getMethod().invoke(so,v); break; } } } } catch (Exception ex) { System.out.println(ex.toString()); } } } 原文出处:http://www.cnblogs.com/fgq841103/p/5849243.html
相关文章推荐
- Java反射学习(利用反射遍历链表并执行所有对象的所有get方法)
- [原创] Java JDBC连接数据库,反射创建实体类对象并赋值数据库行记录(支持存储过程)
- 遍历 Map 对象, 利用反射为 Class 对象的对应的属性赋值.
- 利用java反射原理写了一个简单赋值和取值通用类【改】
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射进行赋值
- java利用反射技术遍历某个对象的属性及属性值
- java 利用反射获取类对象中List的值
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- java中利用反射获得对象的各种信息
- java利用反射获取对象类名以及对象属性名
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- 利用Java反射实现JavaBean对象相同属性复制并初始化目标对象为空的属性的BeanUtils
- 利用反射机制来获取表单请求值以及对象赋值(使用了第三方插件)
- (三)JAVA利用反射机制将XML中的内容放入实体对象中
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
- java怎么判断两个Set 里的对象的值是否相同【两个set中的值是否相等】、java treeset和hashset如何判断元素是否相同【即对象是否完全相同;利用一个set去除重复元素】
- android中利用java反射原理将对象添加到sqlit数据库的万能方法
- java使用反射给对象属性赋值的两种方法