您的位置:首页 > 编程语言 > Java开发

* Java 两个 Java bean 之间的赋值

2016-01-13 17:02 1306 查看
/**

* bean 之间的赋值

*

* @author gao

*

*/

public class BeanToBean {

/**

* 两个bean之间相互传值

*

* @param from

* @param to

* @return

*/

public static Object convertBean2Bean(Object from, Object to) {

try {

BeanInfo beanInfo = Introspector.getBeanInfo(to.getClass());

PropertyDescriptor[] ps = beanInfo.getPropertyDescriptors();

Class<?> classType = from.getClass();

for (PropertyDescriptor p : ps) {

Method getMethod = p.getReadMethod();

Method setMethod = p.getWriteMethod();

if (getMethod != null && setMethod != null) {

try {

Method fromGetMethod = classType.getMethod(getMethod.getName());

Object result = fromGetMethod.invoke(from);

setMethod.invoke(to, result);

} catch (Exception e) {

continue;

}

}

}

} catch (Exception e) {

e.printStackTrace();

}

return to;

}

public static void main(String[] args) {

FundsProductInfoVo vo = new FundsProductInfoVo();

vo.setProductId("123456");

vo.setMfTranstype("01");

vo.setMfBankcode("00");

vo.setMfDebitnote("dsf");

vo.setMfIsprotocol("11");

vo.setIsMesg("adsf");

ChannelVo temp = new ChannelVo();

temp.setIsMesg("asdf");

temp.setMfBankcode("sdf");

temp.setMfIsprotocol("ds");

ChannelVo channelVo = (ChannelVo) BeanToBean.convertBean2Bean(vo, new ChannelVo());

System.out.println(channelVo.toString());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: