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

怎样做医疗保健网站本科自考几年

怎样做医疗保健网站,本科自考几年,做图客网站,公司徽标设计图片java中有一个概念叫深拷贝和浅拷贝,那这两个是什么意思呢?其实你可以对比一下c中的传值和传引用的问题。 深拷贝 即两个相同的对象地址不同,比如对象A通过拷贝出来对象B,在对B对象进行操作时不会影响到A对象的内容。 浅拷贝 和…

java中有一个概念叫深拷贝和浅拷贝,那这两个是什么意思呢?其实你可以对比一下c中的传值和传引用的问题。

深拷贝

即两个相同的对象地址不同,比如对象A通过拷贝出来对象B,在对B对象进行操作时不会影响到A对象的内容。

浅拷贝

和深拷贝相反,创建一个对象A,然后通过A对象克隆出对象B,此时A和B两个对象的地址是一样的,即两个对象使用的是同一个地址。

如何实现深拷贝和浅拷贝

浅拷贝的实现

可以使用Beanutils进行浅拷贝,代码如下:

观察结果我们发现,拷贝出来的其实是两个不同的对象,但是他们的值是相同的,此时我们去修改user1中的值,看user中的值是否会发生变化

这时user和user1的值都发生了改变,说明BeanUtils使用的是浅拷贝的方式

深拷贝的实现 

深拷贝实现方式有几种,我们一一进行介绍

实现Cloneable接口,重写clone方法

        这个实现方式其实现在不怎么用,因为想要重写clone方法,就必须要实现Cloneable,不然就会报CloneNotSupportedException异常,而且一旦对象中增加或者删除某个属性,也要相应修改clone方法,所以比较繁琐,因此这里就不做介绍了,感兴趣的同学可以去其他博客上了解~

序列化实现深拷贝

        我们可以把对象序列化成流,然后再反序列化成对象,这样得到的就是一个新对象了,就比如我们可以使用各种json工具将对象序列化成JSON字符串,然后再从字符串中反序列化对象。

要注意的是这里导入的依赖为以下依赖

 <dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.46</version></dependency>

不能是fastjson这个依赖,不然你就会跟我一样喜提一个报错,报错信息如下:

 除此之外,我们还可以使用Apache Commons Lang提供的SerializationUtils工具来实现,首先,我们需要修改一下类:

引入依赖

   <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency>

我们发现也可以实现深拷贝~

以上就是深拷贝和浅拷贝的全部内容,希望你能有所收获~ 

 

 

http://www.yayakq.cn/news/79564/

相关文章:

  • 网站制作的核心要点是什么制作相册书
  • 广东网站建设公司报价做网站如何宣传
  • 天津哪家做网站好网站开发公司需要招聘哪些人
  • 中国农业建设信息网站广州公司网址
  • 公司注销后 网站备案吗个人网站备案 费用
  • 济南建设工程信息网站自己怎么做免费网站
  • 朝阳住房和城乡建设官方网站wordpress标签函数
  • 朝阳市网站建设电商到底干嘛的
  • 宿迁网站制作公司网站建设属于无形资产吗
  • 将二级域名 网站目录怎么把自己的网站做自适应网站
  • 网站推广工具大全申请商标
  • 珠海企业网站设计公司自己买域名建设网站
  • 郑州网页制作深圳网站seo公司
  • 网站使用手册口碑营销优化推广
  • 做物流网站电话东莞市建筑业协会
  • 共享ip服务器做网站网站开发毕业答辩问题
  • 动画视频制作手机端网站外部链接如何去优化
  • 图片无版权网站状态管理名词解释网站开发
  • 提升访问境外网站速度免费申请网站 免备案
  • 网站开发技术的雏形 cgi长沙网站营销
  • 传奇背景图网站怎么做岳阳seo招聘
  • 工商联网站建设方案wordpress如何更换域名
  • 网站制作公司获取客户做外单网站有哪些内容
  • .net做网站之前设置惠州做棋牌网站建设哪家便宜
  • wordpress配置多站点广州专业做继承案件律师
  • 网站制作 系统定制网络上市场推广
  • 网站建设技能考试试题三房地产新闻时事热点
  • 建设网站的公司广州泰来县城乡建设局网站
  • 什么网站做啤酒重庆建设集团官方网站
  • cms网站模板 数据采集网站建设中采用的技术