zoukankan      html  css  js  c++  java
  • 通过反射,给对象之间赋值

    /**
      * 通过反射,给对象赋值
      * add by wangHao 2014-01-08
      * @param source
      * @param dest
      * @throws Exception
      */
        public  void CopyObject(Object source,Object dest)throws Exception { 
            BeanInfo sourceBean = Introspector.getBeanInfo(source.getClass(), java.lang.Object.class); 
            PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors(); 
            BeanInfo destBean = Introspector.getBeanInfo(dest.getClass(), java.lang.Object.class); 
            PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors(); 
            try{ 
                for(int i=0;i<sourceProperty.length;i++){ 
                     if( "id".equals(sourceProperty[i].getName())){
                        continue;
                     }
                    for(int j=0;j<destProperty.length;j++){ 
                        if(sourceProperty[i].getName().equals(destProperty[j].getName())){ 
                            destProperty[j].getWriteMethod().invoke(dest, sourceProperty[i].getReadMethod().invoke(source)); 
                            break;                   
                        } 
                    } 
                } 
            }catch(Exception e){ 
                throw new Exception("属性复制失败:",e); 
            } 
        }

  • 相关阅读:
    HDU 1269 迷宫城堡 tarjan算法求强连通分量
    hrbust 1721 A + B = 0 map的应用
    关于vis标记
    poj 1703
    poj1961 kmp
    acm poj1260 dp
    矩阵链乘 hrbust 1600
    单源最短路径 hdu 2066
    最小生成树
    多维背包 hrbudt 1335 算法与追MM
  • 原文地址:https://www.cnblogs.com/holdon521/p/4118587.html
Copyright © 2011-2022 走看看