code: public static <T, R> void processObject(R r, T src, BiConsumer<R, T> biConsumer) {
          try {
              String beanKey = generateKey(src.getClass(), r.getClass());
              BeanCopier copier = BEAN_COPIER_MAP.getIfPresent(beanKey);
              if (copier == null) {
                  copier = BeanCopier.create(src.getClass(), r.getClass(), false);
                  BEAN_COPIER_MAP.put(beanKey, copier);
              }
              copier.copy(src, r, null);
              if (biConsumer != null) {
                  biConsumer.accept(r, src);
              }
          } catch (Exception e) {
              throw new IllegalArgumentException(e.getMessage(), e);
          }
      }
docs: 拷贝单个对象
  
  @param r          目标对象
  @param src        原对象
  @param biConsumer 回调函数
  @param <T>        原数据类型
  @param <R>        目标数据类型