zoukankan      html  css  js  c++  java
  • beanUtils 对象之前的 相互赋值转换

    public final class BeanUtils {
    
        /**
         * 将srcObject的字段值赋值到destObject对象中去
         *
         * @param srcObject
         * @param destObject
         * @param <S>
         * @param <T>
         * @return
         */
        public static <S, T> T initDestObject(S srcObject, T destObject) {
            Map<String,Object> srcMap = new HashMap<>();
            Class srcClass = srcObject.getClass();
            Field[] declaredFields = srcClass.getDeclaredFields();
            for (int i = 0; i < declaredFields.length; i++) {
                try {
                    Field field = declaredFields[i];
                    field.setAccessible(true);
                    String fieldName = field.getName();
                    Object value = field.get(srcObject);
                    srcMap.put(fieldName, value);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
            try {
                destObject = initProperty(destObject, srcMap);
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            System.out.println(srcMap);
            return destObject;
        }
    
        private static <T> T initProperty(T obj, Map<String,Object> map) throws IllegalAccessException {
            Class<?> clazz = obj.getClass();
            Field[] declaredFields = clazz.getDeclaredFields();
            for (int i = 0; i < declaredFields.length; i++) {
                declaredFields[i].setAccessible(true);
                String fieldName = declaredFields[i].getName();
                Set<String> keySet = map.keySet();
                for (String s : keySet) {
                    if (fieldName.equals(s)) {
                        declaredFields[i].set(obj, map.get(s));
                    }
                }
            }
            return obj;
        }
    }
  • 相关阅读:
    asp.net 下载EXCEL文件
    C# 泛型实现Table与实体的相互转换
    SQL处理数据并发,解决ID自增
    html Canvas 画图 能够选择并能移动
    AJAX get/post;
    (转) C# Async与Await的使用
    FormattableString 取代特定区域字符串
    少用 string.Format
    少用 string.Format
    如何重写object虚方法
  • 原文地址:https://www.cnblogs.com/woshuyuqiang/p/9437135.html
Copyright © 2011-2022 走看看