zoukankan      html  css  js  c++  java
  • java 有相同参数的类赋值

    主要用于让两个对象的值保存一致,省略getset代码

    /**
         * <p>
         *
         * @param class1 基准类,被赋值对象
         * @param class2 提供数据的对象
         * @throws Exception
         * @description 转换javabean ,将class2中的属性值赋值给class1,如果class1属性有值,则不覆盖
         * </p>
         * @see
         */
        public static void converJavaBean(Object class1, Object class2) {
            Class<?> clazz1 = class1.getClass();
            Class<?> clazz2 = class2.getClass();
            Field[] fields1 = clazz1.getDeclaredFields();
            Field[] fields2 = clazz2.getDeclaredFields();
            try {
                for (int i = 0; i < fields1.length; i++) {
                    fields1[i].setAccessible(true);
                    fields2[i].setAccessible(true);
                    Object obg1 = fields1[i].get(class1);
                    Object obg2 = fields2[i].get(class2);
                    if ((null == fields1[i].get(class1) || "" == fields1[i].get(class1)) && (null != fields2[i].get(class2) || "" == fields1[i].get(class1))) {
                        fields1[i].set(class1, fields2[i].get(class2));
                    }
                }
            } catch (ArrayIndexOutOfBoundsException e) {
                System.out.println("数组下标越界");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    此方法只会给class1中的空值字段赋值,如果想全部赋值,把空判断去掉

  • 相关阅读:
    Sql优化思路
    「网络流随想随记」
    「ZJOI 的部分题解整理」
    「循环矩阵相关的一些东西」
    知识蒸馏
    3D Human Pose Estimation with 2D Marginal Heatmaps
    模型剪枝
    目标检测小网络
    selenium---解决clear方法失效
    selenium---快速跳转到指定元素
  • 原文地址:https://www.cnblogs.com/wl1202/p/14744243.html
Copyright © 2011-2022 走看看