* Java 两个 Java bean 之间的赋值

/**
 * 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());



}
}

你可能感兴趣的:(* Java 两个 Java bean 之间的赋值)