当前位置: 首页 > news >正文

重庆江北网站建设免费 网站 cms

重庆江北网站建设,免费 网站 cms,辽宁建设工程信息网审计报告,用什么软件做网站布局spring下的beanutils.copyProperties方法是深拷贝还是浅拷贝#xff1f;可以实现深拷贝吗#xff1f; 答案#xff1a;浅拷贝。 一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中#xff0c;对于BeanUtils.copyProperties来说#xff0c;你必须保…spring下的beanutils.copyProperties方法是深拷贝还是浅拷贝可以实现深拷贝吗 答案浅拷贝。 一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中对于BeanUtils.copyProperties来说你必须保证属性名和类型是相同的因为它是根据get和set方法来赋值的。 1.1、浅拷贝 浅拷贝可以理解为如果是引用类型那么目标对象拷贝的只是源对象的地址无论目标对象还是源对象改变他们都会一起改变 。 1.2、深拷贝 深拷贝就是将目标对象的属性全部复制一份给源对象复制完之后他们就是隔开的没有任何关系无论操作源对象还是目标对象都对另一个没有影响 无论是浅拷贝还是深拷贝对于基本类型和String来说都是没有影响的有影响的只有引用类型数据。 二、测试beanutils.copyProperties为浅拷贝 建两个实体类 public class CityBean {String value;.......// 省略get和set方法Altinsert很快的 }public class FastdfsTest {private String id;private String name;private String size;private CityBean cityBean;.......// 省略get和set方法Altinsert很快的测试 Testpublic void testObjectMapper() throws IOException, MyException {// 源类FastdfsTest source new FastdfsTest();source.setId(fastdfsTest);source.setName(fastdfsTest);source.setSize(fastdfsTest);CityBean cityBean new CityBean();cityBean.setValue(CityBean源值);source.setCityBean(cityBean);// 目标类FastdfsTest target new FastdfsTest();// 把fastdfsTest中所有的属性都复制到fastdfsTestCopy中即使是cityBean也会被复制BeanUtils.copyProperties(source,target);CityBean sourceCity source.getCityBean();//在下面改变源类的引用数据如果BeanUtils.copyProperties是浅拷贝那么目标类拷贝的就是一个引用地址源类改变目标类也会跟着改变//如果BeanUtils.copyProperties是深拷贝则两边改变都不会相互影响sourceCity.setValue(CityBean目标值);System.out.println(source.toString() target.toString());}测试截图 这里可以看出BeanUtils.copyProperties是一个浅拷贝 三、如何用beanutils.copyProperties实现深拷贝 测试代码 /*** 测试stream中用BeanUtils.copyProperties是否是深拷贝*/Testpublic void testStream(){// 我从数据库查的其实就是创建几个数据这里就自己添加了哈ListFastdfsTest fastdfsTestList fastdfsTestService.selectFastdfsTestList();// 先构造fastdfsTestList fastdfsTestList.stream().map(k - {CityBean cityBean new CityBean();cityBean.setValue(新的value);k.setCityBean(cityBean);return k;}).collect(Collectors.toList());// 拷贝ListFastdfsTest fastdfsTestList2 fastdfsTestList.stream().map(k - {FastdfsTest fastdfsTest new FastdfsTest();BeanUtils.copyProperties(k,fastdfsTest);return fastdfsTest;}).collect(Collectors.toList());// 设置源对象引用字段为空fastdfsTestList.get(0).setCityBean(null);System.out.println(fastdfsTestList userDTOList fastdfsTestList2);}测试截图 这里可以看到改变源对象是不会影响目标对象的因此可以借助java8的一些stream新特性用BeanUtils.copyProperties这个方法来实现深拷贝任意两个类都可以哦 深拷贝模板 // 拷贝List目标类型 target source.stream().map(k - {目标类型 xxx new 目标类型();BeanUtils.copyProperties(k,xxx);return xxx;}).collect(Collectors.toList());
http://www.dnsts.com.cn/news/65388.html

相关文章:

  • 做网站开发的公司哪家好网站备案密码找回
  • 手机卡盟网站建设asp.net网站开发与项目实战
  • 桂林网站开发社交网站平台怎么做
  • 盐城做网站的公司游乐网站设计
  • 做考试平台的网站凡科h5在线制作
  • 网站建设规模设想网站托管服务适用于
  • 雅安北京网站建设汉中专业网站建设公司
  • 分类目录网站程序资阳优化团队市场
  • 江苏水利工程建设局网站做名片去哪个网站
  • 怎么看网站到期时间阿里云服务器网站备案
  • 购物网站后台怎么做淘宝网电脑版登录
  • 网站排版布局比例做的网站不能放视频播放器
  • 广州做外贸网站的公司简介成都制作网站公司
  • 铁岭建设网站四川省建设厅证书查询
  • 机械类网站如何做网站优化网站建设计算机人员招聘
  • 公司做二手网站的用意千锋教育培训收费一览表
  • 河北省承德市建设局网站上不去网络公司开发软件
  • 网站网络优化外包怎么优化自己网站
  • 大名做网站中国电影家协会成员
  • 网站后台功能开发应用最广网站建设技术
  • 物流 东莞网站建设免费游戏网站建设游戏后台
  • 创新的天津网站建设建筑业企业所得税2%
  • 义乌市微畅网络科技有限公司西安做推广优化的公司
  • 南宁公司网站建设方案登陆建设官方网站
  • 网站建设费用大概多少钱衡阳市确诊名单
  • 隆昌移动网站建设南京谷歌seo
  • 文化传媒网站建设教做粘土的网站
  • 广州可以做票务商城的网站公司全网整合营销推广系统
  • ui设计作品欣赏网站成都注册网站公司
  • 门户网站建设招标文件网站制作推广方案