我需要复制两个对象(都是堆栈)。
我想将临时对象的内容复制到当前对象中,然后清除临时对象的内容。
例如,对于一棵树,它会是这样的:
tree = tempTree;
tempTree.clear();
但是,树引用现在指向 temptree,如果我清除 temptree,它也会清除树。我查看了其他帖子,他们谈到了实现可克隆或执行复制构造函数,我确信有更好的方法在 Java 中复制对象。
顺便说一下,我的对象是 Stack 对象。
如何在没有相同对象引用的情况下将内容从对象复制到另一个对象?
最佳答案
不幸的是,您必须自己编写代码。好消息是 Stack
是 List
的一种类型,因此您可以轻松地对其进行复制。
Stack stack = ...; //Existing stack
Stack tempStack = new Stack();
tempStack.addAll(stack);
现在 tempStack 和 stack 以相同的顺序引用同一组对象,但可以独立改变。
关于java - 在 Java 中将内容从一个对象复制到另一个对象而无需具有相同的对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840040/