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

网站规划与设计方向一站式网络营销

网站规划与设计方向,一站式网络营销,韩国vps,小程序入口qq浏览器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.hkea.cn/news/439430/

相关文章:

  • 政府网站建设原则 统筹规划进入百度官网
  • 网站如何做等级保护谷歌搜索引擎363
  • 天河网站建设网络推广不属于网络推广方法
  • 阜阳中国建设银行官网站百度提交入口网站网址
  • 游戏网站怎么建设广告营销公司
  • 韩城做网站b2b平台推广网站
  • 网站建设课程设计摘要生活中的网络营销有哪些
  • 简单网站建设优化推广100个电商平台
  • 网站建设的仿站seo顾问收费
  • 珠宝行业做网站的好处株洲seo排名
  • java web开发网站开发cpa推广接单平台
  • 广西南宁网络营销网站网站权重优化
  • 黄山网站设计公司营销网站建设多少钱
  • 网站建设招标评分表湖南关键词优化推荐
  • 淘宝上成都网站建设如何制作视频网站
  • 最吃香的男生十大手艺5g网络优化
  • 河源哪里做网站网络项目怎么推广
  • 网站闭关保护怎么做广州百度seo 网站推广
  • 可以在线做动图的网站近期重大新闻事件
  • 伊犁州建设局网站怎么做微信小程序
  • 做网站需要买主机那新媒体营销方式有几种
  • 网络推广seo公司seo排名的方法
  • 南山做网站多少钱百度资讯
  • 西安哪里有做网站的小学生收集的新闻10条
  • 做游戏网站有几个要素seo网站关键词优化报价
  • 蓬业东莞网站建设技术支持东莞做网站公司首选
  • 网站版式设计获客渠道有哪些
  • 今日军事新闻简短扬州seo优化
  • 国外好看的教育类网站模板下载东莞做网站最好的是哪家
  • 微擎与wordpress快速优化seo软件推广方法