首页 > 技术文章 > CopyUtils 讲一个对象的全部(或部分)属性值copy给另一个对象

IT-WJ 2014-03-18 14:19 原文

public class CopyUtils {

//部分copy 需要传属性名称
 public static void copyAttribute(Object objSrc,Object objTar,String... attributes){
  for(String attribute:attributes){
   try{
    Field f = objSrc.getClass().getDeclaredField(attribute);
    f.setAccessible(true);
    f.set(objTar,f.get(objSrc));
    f.setAccessible(false);
   } catch (Exception e) {
    //没有该方法
   }
  }
 }

//全部copy
 public static void copyAttributeAll(Object objSrc,Object objTar){
  Field[] fields = objSrc.getClass().getDeclaredFields();
  for(Field f:fields){
   try{
    f.setAccessible(true);
    f.set(objTar,f.get(objSrc));
    f.setAccessible(false);
   } catch (Exception e) {
    //没有该方法
   }
  }
 }
 }

推荐阅读