clone() 对象是什么意思?

2024-06-09

vb6 或 java 中的对象克隆是什么?我们在什么情况下使用克隆?克隆对象是什么意思?任何人都可以用例子告诉我吗?


克隆实际上是将对象数据复制到新的对象中。

此示例不克隆数据:

Foo p = new Foo();
Foo o = p;

If Foo有一个会员a你改变了p.a then o.a也发生变化,因为两者p and o指向同一个对象。

However,

Foo p = new Foo();
Foo o = p.Clone();

在这种情况下如果你改变p.a then o.a保持不变,因为它们实际上指向不同的对象。

实际上有两种不同的克隆方式:浅克隆或深克隆。

浅克隆只是创建一个新对象并将成员复制到新对象中。这意味着如果其中一个成员实际上是指向另一个对象的指针,那么该对象将在旧对象和新对象之间共享。

深度克隆实际上会遍历所有成员并将其克隆到新对象中。这样,对象就是所有数据的完整副本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

clone() 对象是什么意思? 的相关文章

  • 在 Heroku 上克隆以前的版本

    我是 Heroku 新手 将错误代码推送到服务器后 我使用了heroku rollback恢复到以前的版本 然后我尝试使用以下命令将此回滚克隆到我的计算机 git clone email protected cdn cgi l email
  • 克隆 git 存储库时如何自动保留别名?

    我在 git 存储库的配置文件中设置了一堆方便的别名 我偶尔会克隆这个存储库 例如到我的笔记本电脑上 但克隆不包含我设置的任何别名 大概是因为克隆不会复制存储别名的 git 配置文件 但是 我希望在使用克隆时可以使用这些别名 而无需再次手动
  • git pull fatal:内存不足,malloc 失败

    我有一个回购协议https bitbucket org https bitbucket org 几天前 由于错误 大量图像文件被推送到存储库中 然后文件通过另一次推送被删除 之后该存储库工作正常 但今天当我尝试从存储库中提取时 git pu
  • 克隆 TypeScript 对象

    我有一个打字稿课程 export class Restaurant constructor private id string private name string public getId string return this id p
  • React createElement 与 CloneElement

    谁能告诉我如果使用cloneElement 在现有元素实例上 或createElement 在react Element类上 哪一个在性能方面更好 有时克隆某些东西比创建新实例更快 请告诉我 谢谢 Using cloneElement通常会
  • 在EntityFramework中克隆具有多对多关系的对象

    我想要的只是创建一个对象的精确副本 我有课 Serializable public class Project public int Id get set public String Name get set navigational fi
  • 没有某些字段的深度克隆

    让我有下一个 javascript 对象 现在我想克隆它但没有一些字段 例如我想要没有字段的克隆对象 lastName and cars age Input firstName Fred lastName McDonald cars typ
  • 为什么我无法克隆 git 存储库以用于 readthedocs 来构建文档?

    我正在尝试导入我的项目代码readthedocs这样它就可以为我生成文档 然而 在克隆存储库的阶段 已经出现错误 checkout Failed to import project skipping build Error Failed t
  • java中的cloneable接口有什么用?

    实现可克隆接口有什么用 因为它是一个标记接口 我总是可以在我的类中创建一个公共 Object clone 方法 可克隆接口的实际用途是什么 那是因为clone 方法抛出CloneNotSupportedException如果你的对象不是Cl
  • PHP 中的对象克隆是什么?

    有人可以解释一下吗 PHP 中的对象克隆是什么 我什么时候应该在 php 中使用克隆关键字 对象克隆是制作对象副本的行为 作为Cody https stackoverflow com questions 2144506 what is ob
  • 克隆二叉树的时间复杂度

    我想知道克隆二叉树的代码的时间复杂度是否为 O n 如果是 O n 你能解释一下为什么吗 如果没有 你能建议一种时间复杂度为 O n 的方法吗 public TreeNode cloneTree TreeNode root if root
  • 使用推断的 (?) 类型克隆 std::iter::Map

    我在以紧凑的方式克隆地图时遇到问题 extern crate itertools num use itertools num linspace fn main 440Hz as wave frequency middle A let fre
  • 复制构造函数创建依赖副本

    我按照描述实现了复制构造函数here https stackoverflow com questions 15020850 copy constructors and defensive copying 但问题仍然是当我更新时route c
  • 从 SVN 转换为 Git 时,如何将修订号放入提交消息中?

    我们将把我们的存储库从 Subversion 转换为 Git 但希望能够保留 SVN 修订号 因为错误跟踪器中的注释会定期引用它 我们将使用git svn clone以及中描述的过程约翰 阿尔宾的博客 http john albin net
  • 何时使用 clone() 以及 addAll() 和 add() 的实际工作原理

    我正在使用 Java 和 MySQL 我的项目中有大约 60 个交易屏幕 我曾经用过add and addAll 复制的功能ArrayList 例如 List
  • jQuery .wrap() 不环绕克隆元素

    function extend notify function options duration var defaults inline true href html var options extend defaults options
  • 本地 git 存储库强制从远程 git 存储库更新。 (胖客户端部署)

    Update 我认为这与 Windows git 客户端 msysgit 的问题有关 抱歉打扰你们了 我正在寻找一种方法来使多个客户端框与远程 git 存储库保持同步 强制从远程存储库进行更新并放弃客户端上可能已更改的任何内容 我遇到的问题
  • 尽管有 svn 复制,如何 git svn 克隆完整历史记录

    在我的公司 我们即将从 svn 切换到 git 我们使用的 SVN 非常大 没有 svn 布局 并且在每个版本拆分上我们都制作了一个 svn 副本 SVN存储库结构 svnserver company de product xy 主要版本号
  • 当我制作一个可拖动克隆并将其放入可放置对象中时,我无法再次拖动它

    当我制作一个可拖动克隆并将其放入可放置对象中时 我无法再次拖动它 我怎么做 其次我只能弄清楚如何我们 append将克隆添加到可放置对象中 但随后它会捕捉到任何现有元素之后的左上角 而不是放置位置 document ready functi
  • 克隆在幕后是如何工作的?

    克隆不会调用对象构造函数来创建对象的副本 那么clone使用什么算法呢 我正在寻找本机方法克隆的实现细节 任何指示将不胜感激 请注意 我知道克隆的缺点 protected native Object clone 我不太清楚 我需要查看本机代

随机推荐

  • 从另一名 Razor 助手中调用另一名 Razor 助手

    我需要创建 Razor 助手的第二个重载 并希望从另一个助手调用一个助手 使用一些特定参数 有没有办法实现呢 Sure using System Web Mvc using System Web Mvc Html public static
  • Tomcat 在启动时突然抛出 ClassFormatError

    我的项目有问题 经过一些测试后 我认为这与源代码无关 即使返回到以前的工作版本 当我尝试部署到 Tomcat 时仍然会收到错误 错误是一个org springframework beans factory BeanDefinitionSto
  • 在 Perl 中优雅地确定系统架构

    我正在寻找一种简单的方法来确定 Perl 5 中的系统是 32 位还是 64 位 我已阅读perlvar来回翻阅手册页 并没有发现包含系统 CPU 架构的变量 编译 Perl 的 CPU 架构将足够接近 这是我最接近的 chomp my a
  • 雄辩的 laravel:如何从 ->get() 获取行数

    我在弄清楚如何使用这个集合来计算行数时遇到了很多麻烦 wordlist DB table wordlist gt where id lt correctedComparisons gt get 我努力了adding gt count 但没有
  • Google Maps API V3:捕捉到另一个多边形的节点

    我正在绘制相邻且共享边界的多边形 看下面的示例图片 如果我要为蒙大拿州绘制一个多边形 我希望能够单击爱达荷州多边形的节点以获得相同的边界部分 以确保边界不会重叠或有孔 但是 节点不允许直接单击它们 如果我使节点不可见 那么准确性会恶化 并且
  • 如何使用管道字符分隔符分隔字段

    我知道这个问题已经被问过 但我发现没有一个解决方案对我有用 我有一个程序 其输出如下 COUNT 293 1 lps 我对第二个字段感兴趣 但是这些尝试都没有成功 spawn 1 cut d f2 spawn 1 cut d f2 spaw
  • Windows 7 中的 VS2017“尝试确定 dotnet.exe 的进程 ID 时发生错误”

    项目属性 gt 启用 SSL false 关闭 选择 IIS Express 作为调试选项 已安装 IIS 10 0 Express 总是低于错误 任何人都可以建议修复吗 已经尝试过以下网址 但仍然没有希望 尝试确定托管您的应用程序的 do
  • Org LaTeX 预览在视网膜显示屏上模糊

    我所有的数学 科学笔记都使用 Emacs 24 4 org latex preview太棒了 但最近 我升级到了配备视网膜显示屏的 MacBook Pro 现在我发现组织模式下的所有方程都 模糊了 有什么设置可以更改为高分辨率吗 这是一个屏
  • 如何绘制更新线

    我的目标很简单 想象一下打开 MSPaint 单击线条工具 按住鼠标并拖动它 它锚定您单击鼠标的起始坐标 并不断绘制和重画一条线到您的当前位置 但我尝试在 C 中执行此操作并没有达到我希望的效果 DllImport user32 dll s
  • 为什么我不能使用 `strip('\"')` 删除引号?

    我只能使用删除左引号str strip with open filename r as fp for line in fp readlines print line line line strip print line 部分结果 Route
  • 在 geom_bar 中使用多个变量与 ggplot 在同一 X (R)

    我正在尝试找到如何做这样的条形图 barplot https i stack imgur com 0Tu17 png 但是用我的数据 多个变量 数据 PlatformGlobe 如下 Platformvendor total NA tota
  • Haskell:处理死锁的自引用列表

    GHC 允许永久阻止以下内容是否有任何有用的理由 list 1 tail list 看起来列表迭代器 生成器有点复杂 我们应该能够做一些更有用的事情 Return error Infinitely blocking list Return
  • 如何使用嵌入式jetty服务器部署war

    我有一个带有嵌入式码头服务器的战争文件 我想把它部署到网上 我应该先做什么 我尝试在 IDE 中运行它 效果很好 但我对如何在线部署它感到困惑 我不想每次尝试像 IDE 那样运行我的应用程序时都启动服务器 例如 我想输入 http 119
  • iOS - 条件编译(xcode)

    我为最初的 iPhone 应用程序创建了一个额外的 iPad 目标 来自苹果文档 几乎在所有情况下 您都需要定义一个新的视图控制器类来管理应用程序界面的 iPad 版本 特别是当该界面与您的 iPhone 界面完全不同时 您可以使用条件编译
  • 如何访问 tf.layers.conv2d 中的内核变量?

    我想可视化卷积层中的权重以观察它们如何变化 但我找不到一种方法来访问卷积层中的权重tf layers conv2d 谢谢 您可以通过名称访问该变量 weights sess run
  • 隐藏 SSRS 嵌套组同时显示详细信息行

    我有一个分层数据集 如下所示 Group1 Group2 Group3 Group4 Group5 Detail Food Fruit Red Apple Apple Food Fruit Orange Orange Orange Food
  • AWS应用程序负载均衡器和socket.io

    我有一个正在运行的 socket io 聊天室 当我们在一台机器上运行时 其流量越来越大 我们已经使用 ws 套接字库运行了基准测试 它们的性能确实要好得多 这将更好地利用我们的硬件 但这会以必须重写我们的应用程序为代价 我们的 socke
  • 如何在 OSX 上的应用程序名称下创建子项菜单?

    如何在下面添加TMenuItemProject1以上Quit在下面的屏幕截图上 我创建了一个 TMenuBar 并选中了 UseOSMenu 属性 我添加的第一个 TMenuItem 是主栏中的第二个 TMenuItem 您可以通过将 II
  • Android:从 onRestoreInstanceState() 调用时 AsyncTask 失败

    我有一个应用程序 它的 UI 需要一些工作来构建 必须处理一些东西 因此 我使用 AsynchTask 构建 UI 它在执行一些后台处理时显示进度对话框 然后更新 UI 我希望能够从 OnRestoreInstanceState 调用此 A
  • clone() 对象是什么意思?

    vb6 或 java 中的对象克隆是什么 我们在什么情况下使用克隆 克隆对象是什么意思 任何人都可以用例子告诉我吗 克隆实际上是将对象数据复制到新的对象中 此示例不克隆数据 Foo p new Foo Foo o p If Foo有一个会员