1. 程式人生 > >java使用反射機制將兩個物件共有的屬性進行復制value值

java使用反射機制將兩個物件共有的屬性進行復制value值

主要是把引數object中例如name和返回objct中那麼屬性值進行克隆並返回selectObject物件
/**更改查詢的po的分頁條數資訊*/
public static <T> T copyAttr(Object parameter,Object  selectObj) {
    Field [] fields = parameter.getClass().getDeclaredFields();
    if(null!=fields){
        for(int i=0;i<fields.length;i++){
            Field pojo = fields[i];
String attrName = pojo.getName(); Object attrValue = null; Field rfield; try { pojo.setAccessible(true); attrValue = pojo.get(parameter); rfield = selectObj.getClass().getField(attrName); rfield.setAccessible(true); rfield.set(selectObj, attrValue); } catch (IllegalArgumentException e) { e.printStackTrace();
} catch (IllegalAccessException e) { e.printStackTrace(); }catch (NoSuchFieldException e) { continue; } catch (SecurityException e) { e.printStackTrace(); } } } return (T) selectObj; }