复制JAVABEAN中的属性到另外一个JAVABEAN中

下午写了一个属性复制方法,记录如下:

class POUtil{
    /**
     * 
     * Function : 将一个source中的属性到复制到dest
     * @author : Liaokailin
     * CreateDate : 2014-6-30
     * version : 1.0
     * @param <T>
     * @param dest
     * @param source
     * @return
     * @throws IntrospectionException
     */
    public static <T extends PO> T copyBean(T dest,PO source) throws IntrospectionException{
        BeanInfo beanInfo = Introspector.getBeanInfo(dest.getClass()) ;
        PropertyDescriptor[] pdes = beanInfo.getPropertyDescriptors() ;
        for(int i = 0,length =pdes.length ;i<length ;i++ ){
            PropertyDescriptor pd = pdes[i] ;
        //    System.out.println(pd.getName());
            try {
                PropertyDescriptor sourcePd = new PropertyDescriptor(pd.getName(), source.getClass()) ;
                Method sourceMethod = sourcePd.getReadMethod() ;
                Object result = sourceMethod.invoke(source) ;
                Method pdWriteMethod = pd.getWriteMethod() ;
                pdWriteMethod.invoke(dest, result) ;
            } catch (Exception e) {
                 continue ;
            }
        }
        return dest ;
    }
}
原文地址:https://www.cnblogs.com/liaokailin/p/3817060.html