zoukankan      html  css  js  c++  java
  • 两个对象的属性赋值

    public class BeanCopyUtil {
        private static final Log log = LogFactory.getLog("FILE-ERROR");
        public static void copyField(Object targetObj, Object orginObj){
            if(targetObj == null || orginObj == null){
                log.error("BeanCopyUtil 属性拷贝的工具类出现null.[targetObj:"+targetObj+"]-[orginObj:"+orginObj+"]");
                return;
            }
            Class targetClass = targetObj.getClass();
    //        Field[] orgFields = orginObj.getClass().getFields();
    //        if(orgFields.length ==0){
            Field[] orgFields = orginObj.getClass().getDeclaredFields();
    //        }
            for (Field orgField : orgFields) {
                Field targetField;
                try {
                    targetField = targetClass.getDeclaredField(orgField.getName());
                } catch (Exception e) {
                    continue;
                }
                if (targetField != null) {
                    targetField.setAccessible(true);
                    orgField.setAccessible(true);
                    try {
                        targetField.set(targetObj, orgField.get(orginObj));
                    } catch (Exception e) {
                        continue;//当出现NoSuchFieldException异常时,直接下一次循环,这样就将origin中有的filed而target中没有的filed忽略
                    } finally {
                        targetField.setAccessible(false);
                        orgField.setAccessible(false);
                    }
                }
            }
        }
  • 相关阅读:
    团队冲刺第四天
    团队冲刺第三天
    团队冲刺第二天
    团队冲刺第一天
    典型用户及用户场景描述
    《构建之法》阅读笔记01
    第九周学习进度条
    第八周学习进度条
    软件工程概论课堂作业3
    课堂练习-找水王续
  • 原文地址:https://www.cnblogs.com/zhima-hu/p/7772390.html
Copyright © 2011-2022 走看看