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

中山网站建设模板招商网站流量成本

中山网站建设模板招商,网站流量成本,中国空间站有多大,深圳网络营销推广案例深拷贝与浅拷贝 深拷贝和浅拷贝是编程中常用的两种对象复制方式#xff0c;它们在复制对象时处理对象内部引用的方式上有所不同。 浅拷贝 浅拷贝#xff08;Shallow Copy#xff09;只复制对象的顶层结构#xff0c;而不复制对象内部的引用对象。换句话说#xff0c;浅…深拷贝与浅拷贝 深拷贝和浅拷贝是编程中常用的两种对象复制方式它们在复制对象时处理对象内部引用的方式上有所不同。 浅拷贝 浅拷贝Shallow Copy只复制对象的顶层结构而不复制对象内部的引用对象。换句话说浅拷贝只复制对象的值类型字段和引用类型字段的引用而不复制引用对象本身。 特点如果原始对象中的字段是值类型则复制其值如果字段是引用类型则复制引用地址而不是引用的对象本身。结果浅拷贝后的新对象与原对象共享引用类型的成员。因此修改其中一个对象的引用类型成员可能会影响另一个对象。 举例伪代码 original { a: 1, b: { c: 2, d: 3 } } shallowCopy copy(original) // 浅拷贝 // shallowCopy { a: 1, b: { c: 2, d: 3 } } 但 shallowCopy.b 和 original.b 指向同一个对象深拷贝 深拷贝Deep Copy则是复制对象的所有层级结构。一个对象进行深拷贝后不仅复制了对象的顶层结构还复制了对象内部的所有引用对象。 特点无论是值类型还是引用类型都会被完全复制到新对象中。结果深拷贝后的对象与原对象不共享任何成员。修改一个对象的任何成员不会影响到另一个对象。 举例伪代码 original { a: 1, b: { c: 2, d: 3 } } deepCopy deepcopy(original) // 深拷贝 // deepCopy { a: 1, b: { c: 2, d: 3 } } 且 deepCopy.b 和 original.b 指向不同的对象应用 浅拷贝通常用于复制不包含复杂对象或不需要独立操作引用对象的场景。而深拷贝则适用于需要完全独立的对象副本或者当对象内部也包含引用对象时。 在不同的编程语言中实现深拷贝和浅拷贝的方式可能不同。例如在JavaScript中可以使用Object.assign()或扩展运算符{...obj}实现浅拷贝而深拷贝可能需要递归复制或使用如JSON.parse(JSON.stringify(obj))这样的技巧。在Python中copy模块提供了copy()浅拷贝和deepcopy()深拷贝函数。 Java中的深拷贝与浅拷贝 在Java中深拷贝和浅拷贝是处理对象复制时常见的两种方法它们在处理对象内部引用时有本质的区别。 浅拷贝Shallow Copy 浅拷贝创建一个新的对象然后将原始对象的非静态字段复制到新对象。如果字段是值类型如基本数据类型它将复制值如果字段是引用类型则复制引用但不复制引用的对象本身。 实现方式在Java中浅拷贝通常可以通过使用Object.clone()方法来实现。为了使用clone()方法类必须实现Cloneable接口并重写clone()方法。示例public class ShallowCopyExample implements Cloneable {private int[] data;public ShallowCopyExample() {data new int[10];for (int i 0; i data.length; i) {data[i] i;}}public ShallowCopyExample clone() {try {return (ShallowCopyExample) super.clone();} catch (CloneNotSupportedException e) {return null;}} }在这个例子中clone()方法创建了ShallowCopyExample对象的浅拷贝。数组data的新引用被创建但数组的内容并没有被复制。 深拷贝Deep Copy 深拷贝不仅复制对象及其字段还递归复制它引用的所有对象。这意味着整个对象树都被复制了。 实现方式在Java中实现深拷贝可以通过多种方式例如递归复制所有对象、使用序列化/反序列化等。示例使用序列化import java.io.*;public class DeepCopyExample implements Serializable {private int[] data;public DeepCopyExample deepCopy() {try {ByteArrayOutputStream bos new ByteArrayOutputStream();ObjectOutputStream out new ObjectOutputStream(bos);out.writeObject(this);ByteArrayInputStream bis new ByteArrayInputStream(bos.toByteArray());ObjectInputStream in new ObjectInputStream(bis);return (DeepCopyExample) in.readObject();} catch (IOException | ClassNotFoundException e) {return null;}} }在这个例子中deepCopy()方法通过序列化和反序列化对象来创建一个深拷贝。这种方法需要对象及其所有引用的对象都实现Serializable接口。 区别 浅拷贝仅复制对象本身和对象内的引用地址不复制引用的对象。深拷贝则完全复制了整个对象及其引用的所有对象新对象与原对象之间不共享任何内容。 使用场景 使用浅拷贝当你需要一个与原对象共享部分数据的独立对象时。使用深拷贝当你需要一个完全独立于原对象的副本时例如当你要修改新对象而不影响原对象的内部状态时。
http://www.zqtcl.cn/news/238497/

相关文章:

  • 响应式网站切图网站入口首页
  • 静态网站开发考虑什么网上推广引流的有用吗?
  • 网站建设包括哪些东西工业设计最好的公司
  • 网站建设方案书 模板网站地址做图标
  • 财务公司网站模板wordpress域名文件夹
  • 网站标题写什么作用是什么网络推广学校培训
  • 看室内设计效果图网站网站建设需要条件
  • html教程网站做网站用哪个服务器
  • 济南网站建设 推搜点江阴响应式网站建设
  • 网站建设在windos的设置crm平台
  • 企业如何建设网站高端商城网站建设
  • 怎么制作app网站以下什么是网页制作软件
  • 网站定制一般价格多少石家庄做网站wsjz
  • 如何建立外卖网站网站可以做的活动推广
  • 手机号注册网站cms影视源码采集
  • 网站建设网页设计培训班连云港seo优化
  • 成都网站建设公司招聘定制衣服
  • 做访问量高的网站如何建立公司网站推广
  • 做公司的网站有哪些简述企业网站建设的流程
  • 网站免费获取验证码怎么做软件开发的工作
  • 萌宝宝投票网站怎么做正规网站建设多少费用
  • 产权交易网站建设方案耐克网站建设的历程
  • 网站建设投入及费用wordpress 收录插件
  • 东莞网站制作个性化清溪网站仿做
  • 简单展示网站模板天津建设网站哪家好
  • 建个人网站赚钱多吗福建省住房和城乡建设厅网站首页
  • 网站建设课程设计实训心得seo关键词优化方案
  • 逸阳网站建设的目标郑州建设电商网站
  • 有了网址怎么做网站上海网站推广服务
  • 惠州网站seo排名优化esc怎么做网站