package mianshi; public class Body implements Cloneable{ public Head head; public Body() {} public Body(Head head) {this.head = head;} @Override protected Object clone() throws CloneNotSupportedException { Body newBody = (Body) super.clone(); newBody.head = (Head) head.clone(); return newBody; } static class Head implements Cloneable{ public Face face; public Head() {} public Head(Face face){this.face = face;} @Override protected Object clone() throws CloneNotSupportedException { //return super.clone(); Head newHead = (Head) super.clone(); newHead.face = (Face) this.face.clone(); return newHead; } } static class Face implements Cloneable{ @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } } public static void main(String[] args) throws CloneNotSupportedException { Body body = new Body(new Head(new Face())); Body body1 = (Body) body.clone(); System.out.println("body == body1 : " + (body == body1) ); System.out.println("body.head == body1.head : " + (body.head == body1.head)); System.out.println("body.head.face == body1.head.face : " + (body.head.face == body1.head.face)); } }
body == body1 : false body.head == body1.head : false body.head.face == body1.head.face : false
相关推荐
List的深度复制 浅谈C#中List<T>对象的深度拷贝问题
我想实现了深度复制呢,也就是我新复制出来的对象不是仅仅复制引用, 而是复制对象!比如说,你需要在一个模板的基础上修改出5个版本的建立,每个版本投递到不同的企业上,版本1投给公司A,版本2投给公司B,。。。...
$ npm install clone-json --save # Install with yarn $ yarn add clone-json 用法 两个数组相等 let cloneJson = require ( 'clone-json' ) let json = { a : 123 , b : 'str' , c : true , d : [ 1 , '2' , ...
js克隆使用深度复制的Javascript对象复制用法var deepClone = require ( './js-clone/index.js' ) ;var object = { name : 'Kator James' , work : { companyName : 'LogicalAddress Ltd' , getCompanyName : ...
本文给大家介绍JavaScript深度复制(deep clone)的实现方法,涉及到js深度复制相关知识,本文介绍的非常详细,特此分享脚本之家平台供大家参考
深度克隆并返回模式的副本,向该模式添加关键路径/模式类型对,您还可以添加另一个模式并复制所有路径、虚拟、getter、setter、索引、方法和静态。 特征: 深度克隆模式 复制路径、虚拟、getter、setter、索引、...
Java克隆(Clone)是Java语言的特性之一,本篇文章主要介绍了Java中的Clone机制是如何工作的,需要的朋友可以参考下
下面小编就为大家带来一篇C# 使用反射来实现对象的深度复制方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一、List对象中的T是值类型的情况(int 类型等) 对于值类型的List直接用以下方法就可以复制: List<T> oldList = new List(); oldList.Add(..); List<T> newList = new List... public static IList<T> Clone(t
deepcopy.js 深度复制数据安装npm $ npm install deepcopy用法node.jsJavaScript const deepcopy = require ( 'deepcopy' ) ;打字稿import * as deepcopy from 'deepcopy' ;浏览器< script src =" deepcopy.min....
克隆 这个 JavaScript 包导出一个深度克隆运算符,它接受可能包含引用循环的... 克隆将复制: 价值观 数组 直接从Object.prototype继承的对象。 实现clone(depth, memo) 。 其他值将引发“无法克隆”错误。 克隆
json-deep-copy JSON样式对象的快速深层复制。 特征 简化的lodash.deepClone,...git clone git@github.com:zxdong262/deep-copy.git cd deep-copy npm i # test npm run test # benchmark npm run benchmark 执照 麻
如果要实现深复制,通过有几种做法,可以用foreach, 或者重写Clone()方法。 但最好用和最方便的方法还是使用【序列化】的方式来实现。 序列化是指将对象转换为字节流的形式,然后保存在内存或者数据库中
下载此修改过的项目,复制到上面项目的文件夹,全部替换:是 把数据集更改成你要训练的数据集 keras-yolo3/VOCdevkit/VOC2007文件make_main_txt01.py脚本和根目录下voc_annotation02.py相继执行将xml转为voc要求的...
该存储库包含有关深度学习基础知识的可复制课程。 每个主题都包含在单独的; 每个笔记本均包含有关其主题的理论介绍以及实践练习。1.运行笔记本有关Jupyter环境的一般介绍,我建议使用。 您可以在个人计算机上本地...
PHP5中的对象模型通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不... 为了这样的目的,PHP定义了一个特殊的方法,称为__clone. 像__construct和__destruct一样,前面有两个下划线。
对象复制工具,基于cglib BeanCopier 实现对实体对象、持久化对象、代理对象的克隆和复制, 避免重复克隆和复制,避免无限循环引用,(校验hashCode) 可指定实体对象和集合属性的克隆深度
这是我使用纯JS深度克隆对象的实现。 在编码面试中经常被问到 :skull: ,很少在没有lodash之类的库的情况下使用。 支持以下测试用例(至少到目前为止我已经考虑过): 空对象(谁不想) 非对象 数组 简单对象...
它提供了用于在深度复制视频检索(NDVR)问题上进行深度度量学习(DML)网络的训练和评估的代码。在训练过程中,DML网络将接收由三元组生成器生成的视频三胞胎。该网络是基于三重态损失函数进行训练的。下图显示了...