gpt4 book ai didi

Java 对对象的引用

转载 作者:行者123 更新时间:2023-11-29 08:00:18 25 4
gpt4 key购买 nike

假设我有一个 Node 类。它只有一个字段,Node parentNode。它也有 setter 和 getter。

我有 2 个节点:节点 nodeA节点 nodeB

我想做的是:将nodeB的父级设置为nodeA的父级,然后将nodeA的父级设置为空。

  1. nodeB.setParent(nodeA.getParent());
  2. nodeA.setParent(null); //不好,因为 nodeB.getParent() 将 = null

要实现上述目标,我必须克隆 nodeA, 然后执行 nodeB.setParent(nodeAClone.getParent()) 吗?

最佳答案

因为 nodeX.parent 是一个对象的引用:

  • 当您调用 nodeB.setParent(nodeA.getParent()) 时,您是在对 nodeB 说“这里是 nodeA 的父节点的地址。”
  • 当您随后说 nodeA.setParent(null); 时,您是在对 nodeA 说“忘记您的 parent 住在哪里。您的 parent 现在什么都不是。”
  • 你在第二个语句中没有对 nodeB 说什么,它仍然有现在它的父节点的地址。

关于Java 对对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com