将一个对象的属性copy到另外一个对象里去,把一个对象的所有字段赋值给另外一个对象。

http://www.cnblogs.com/javastorm/archive/2012/03/14/2396419.html

 

自己写的抄的记录,原帖不能

import java.lang.reflect.Field;

public  void copyPropertysWithoutNull(Object des, Object src){        //将源拷贝到目的,NULL字段不拷贝(不同类对象,不知道能否,没有深究)
  Class<?> clazz = des.getClass();       
  Field[] srcfields=src.getClass().getDeclaredFields();       
  for(Field field:srcfields){           
   if(field.getName().equals("serialVersionUID"))               
    continue;           
   Field f;           
   try {               
    f = clazz.getDeclaredField(field.getName());               
    f.setAccessible(true);               
    field.setAccessible(true);               
    Object obj = field.get(src);               
    if(obj!=null)                   
     f.set(des,obj);           
    }
   catch (SecurityException e) {               
    // TODO Auto-generated catch block               
    e.printStackTrace();           
    }
   catch (NoSuchFieldException e) {               
    // TODO Auto-generated catch block               
    e.printStackTrace();            }
   catch (IllegalArgumentException e) {               
    // TODO Auto-generated catch block               
    e.printStackTrace();            }
   catch (IllegalAccessException e) {               
    // TODO Auto-generated catch block               
    e.printStackTrace();            }       
   }   //end for
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值