利用反射机制,对对象的属性值进行自动设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用反射机制,对对象的属性值进行自动设置相关的知识,希望对你有一定的参考价值。
利用反射机制,对对象的属性值进行自动设置
import java.lang.reflect.Method; /** * 对象的属性值自动设置,利用反射机制 */ public class AutoSet { /** * 将源对象的属性值赋值到目标对象,属性名一致,且源对象有get方法,目标对象有set方法 * @param src 源对象 * @param target 目标对象 * @return 赋值后的目标对象 */ public static Object autoGetterAndSetter(Object src, Object target) { Method[] sms = src.getClass().getMethods(); // 原始类方法srcMethod Method[] tms = target.getClass().getMethods(); // 目标类方法targetMethod for (Method sm : sms) { if (sm.getName().startsWith("get")) { // 原始类的 getter String attrName = sm.getName().substring(3);// 属性 for (Method tm : tms) {// 遍历目标方法 if (("set" + attrName).equals(tm.getName())) {// 执行目标类的指定attrName的setter try{ if(!(null==sm.invoke(src))){ tm.invoke(target, sm.invoke(src)); } }catch(Exception e){ continue; } } } } } return target; } }
以上是关于利用反射机制,对对象的属性值进行自动设置的主要内容,如果未能解决你的问题,请参考以下文章
利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值