第一步:创建工具类

直接使用commons-beanutils实现对象拷贝,引入jar

<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.4</version>
</dependency>

第二步:创建工具类:BeanUtils

public class BeanUtils {/*** @param orig  源对象* @param dest  目标对象*/public static void copyProperties(final Object orig,final Object dest){try{org.apache.commons.beanutils.BeanUtils.copyProperties(dest, orig);}catch (Exception e){throw new RuntimeException(e.getMessage());}}/*** @Description:拷贝list元素对象,将origs中的元素信息,拷贝覆盖至dests中* @param origs 源list对象* @param dests 目标list对象* @param origsElementTpe 源list元素类型对象* @param destElementTpe 目标list元素类型对象* @param <T1> 源list元素类型* @param <T2> 目标list元素类型*/public static <T1,T2> void copyProperties(final List<T1> origs, final List<T2> dests, Class<T1> origsElementTpe, Class<T2> destElementTpe){if(origs==null||dests==null){return ;}if(dests.size()!=0){//防止目标对象被覆盖,要求必须长度为零throw new RuntimeException("目标对象存在值");}try{for (T1 orig: origs) {T2 t = destElementTpe.newInstance();dests.add(t);copyProperties(orig,t);}}catch (Exception e){throw new RuntimeException(e.getMessage());}}
}

commons-beanutils实现java深度克隆相关推荐

  1. java深度克隆_Java深入学习26:Java深度克隆

    Java深入学习26:Java深度克隆 深克隆和浅克隆区别 浅克隆: 只copy对象引用,不copy对象本身.即对象地址不变,仍然只存在一个对象. 深克隆: 不仅拷贝对象本身,而且拷贝对象包含的引用指 ...

  2. Java深度克隆对象

    关于对象的克隆,Java自带了一个clone()方法. 但是众所周知,这个clone()方法只是做浅层的对象复制,仅适用于对象属性是简单数据类型(int/long/float等)的场景.对于对象属性是 ...

  3. java深度克隆_浅析Java中clone()方法浅克隆与深度克隆

    现在Clone已经不是一个新鲜词语了,伴随着"多莉"的产生这个词语确实很"火"过一阵子,在Java中也有这么一个概念,它可以让我们很方便的"制造&qu ...

  4. java深度克隆大数据_Java - 深拷贝技巧

    先让我描述一下问题: 我在某Action(struts2.x)-A中写了一个功能P,以当前用户的某个标识F == 1时需要走这个功能,而且这个功能因某些原因已经侵入到了其他一些method中. 顺便一 ...

  5. java中的深度克隆浅克隆_了解Java中的可克隆接口

    java中的深度克隆浅克隆 什么是对象克隆? 对象克隆是生成具有不同名称的对象的精确字段到字段副本的过程. 克隆的对象在内存中有自己的空间,可在其中复制原始对象的内容. 这就是为什么在克隆后更改原始对 ...

  6. java浅度克隆_java对象 深度克隆(不实现Cloneable接口)和浅度克隆

    为什么需要克隆: 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说 ...

  7. java中实现对象的深度克隆

    1.什么是深度拷贝和浅拷贝 python中有深度拷贝(也可以叫深度克隆)和浅拷贝,同样在java中很多时候需要深度拷贝对象,所谓的深度拷贝对象指的就是对于对象的所用数据及其全部进行copy一份,变成两 ...

  8. Java对象的深度克隆

    文章目录 前言 代码 后记 前言 日常写代码过程中我们需要对数据和对象等进行克隆,然而对引用类型必须要自己重写clone()方法,对于复杂的对象并不那么好写,而且每个对象都需要重写一次.这里我不重写c ...

  9. Java实现对象深度克隆

    两种方式:   1). 实现Cloneable接口并重写Object类中的clone()方法:   2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆 ...

  10. java递归深度克隆_递归方法实现深度克隆原理:遍历对象、数组直到里边都是基本数据类型,然后再去复制,就是深度拷贝。...

    手写递归方法 //定义检测数据类型的功能函数 function checkedType(target) { return Object.prototype.toString.call(target). ...

最新文章

  1. webgl入门(2)-初识webgl和着色器
  2. 2019Mobicom 论文列表
  3. mybatis模糊查询sql
  4. 案例33:灭火器及其配置验收案例分析
  5. PHP设计模式——解释器模式
  6. TypeScript入门教程
  7. 欧姆龙编程软件(CXONE)使用教程
  8. Android音视频开发之ExoPlayer(二):播放列表常用的功能
  9. 如何提高芝麻信用分?解读芝麻信用是怎么做的
  10. 商务云PHP网络验证系统,易如意PHP网络验证系统1.3【开源】+调用模块源码
  11. Qt qmake LIBS的使用指南
  12. 常见设计模式实现、详解及在Spring中的应用
  13. OpenWrt/Lede 添加USB支持
  14. 【转】正则表达式高级学习技巧
  15. 阿里面试:分析为什么B+树更适合作为索引的结构以及索引原理
  16. 基于opencv的理想低通滤波器和巴特沃斯低通滤波器
  17. 聊聊互联网行业对35岁码农的偏见,以及大龄码农的破局之道
  18. Bean 的生命周期
  19. idea引入maven依赖飘红解决方法
  20. 孙悟空的师傅是谁(zz)

热门文章

  1. 28. PHP 文件上传
  2. 页面定时跳转的js和php的代码实现和页面定时刷新
  3. 移动WEB开发之Safari、QQ、UC、360浏览器的私有Meta属性
  4. 未能加载文件或程序集“System.Data.SQLite.DLL”或它的某一个依赖项
  5. Extjs 学习总结-Ext.define自定义类
  6. complexType
  7. linux kernel menuconfig【转载】
  8. 转载:iOS 8 自适应 Cell
  9. hdu1312---------------DFS模板(调用STL)
  10. Useful SQL script