Java 在节点类中复制构造函数和克隆方法?

Java 在节点类中复制构造函数和克隆方法?,java,nodes,clone,copy-constructor,singly-linked-list,Java,Nodes,Clone,Copy Constructor,Singly Linked List,这是我关于stackoverflow的第一个问题,如果我问得不对,请告诉我如何更恰当地提问 对于如何在节点类中创建复制构造函数和克隆方法,我有点困惑。一般来说,我知道如何为对象创建副本和克隆(不实现可克隆),但我对LinkedList还是新手 以下是我到目前为止为Node类(LinkedList类的内部类)编写的部分代码 对我来说,创建节点对象的副本仍然没有多大意义。当您实际使用节点对象时,这不会复制已经链接到另一个节点的节点吗?副本和原始副本将链接到同一个节点,除非副本没有链接到它的节点?请帮

这是我关于stackoverflow的第一个问题,如果我问得不对,请告诉我如何更恰当地提问

对于如何在节点类中创建复制构造函数和克隆方法,我有点困惑。一般来说,我知道如何为对象创建副本和克隆(不实现可克隆),但我对LinkedList还是新手

以下是我到目前为止为Node类(LinkedList类的内部类)编写的部分代码

对我来说,创建节点对象的副本仍然没有多大意义。当您实际使用节点对象时,这不会复制已经链接到另一个节点的节点吗?副本和原始副本将链接到同一个节点,除非副本没有链接到它的节点?请帮助我理解,以防我感到困惑,我不明白这将如何使用

为了澄清,我试图解决的问题是在学校的一个实验室里被问到的。“用一个内部类编写一个LinkedList类…内部类有一个复制构造函数和一个克隆方法…确保你的复制构造函数和克隆方法生成深度副本…”

*编辑 我只是想澄清一下,要求在LinkedList类和内部节点类中编写复制构造函数和克隆方法。我100%确信这一点,我没有时间要求助教澄清,因为有太多人在问她的问题! *


谢谢大家!

看起来您被要求在链表类上实现复制构造函数和克隆方法。。。不是节点类

指定进行深度复制时,克隆的链表对象应复制原始链表中的所有节点

我建议你从以下几点开始:

public MyLinkedList(MyLinkedList originalNode)

你确定它说内部类有一个复制构造函数吗。。。?我同意这没有多大意义,但您的实现是正确的。是的,我100%确定,它要求为LinkedList类和内部节点类编写复制构造函数和克隆方法。我很困惑,因为我以前从未看到过这一点,但看到你是第二个试图澄清这一点的人,助教或教授可能只是犯了一个错误。上课时我没有机会和助教澄清。谢谢快速回复,顺便说一句!嘿,谢谢你的回答,我也这么认为,但在实验室中提出的问题特别指出,我们必须在LinkedList类和内部节点类中编写复制构造函数和克隆方法。我很困惑,因为我以前从未见过,甚至在我的书中也没有。助教或教授会犯错误吗?我在课堂上没有机会澄清,因为有太多人在和TA交谈:/对,如果他们要求你复制/克隆节点,那么你可以将其作为链表深度复制过程的一部分。创建节点副本后,Foo对象将立即正确,但您需要更新链接,使其不再指向原始链接列表中的节点。把它看作是创建链接列表深度副本的一种方便方法。啊,我明白了。这就是我要更改链接的地方。谢谢你的澄清!
public MyLinkedList(MyLinkedList originalNode)