【发布时间】:2012-11-21 20:56:49
【问题描述】:
代码:
Stack<Integer> firstStack = new Stack<Integer>();
Stack<Integer> secondStack = firstStack;
firstStack.push(1);
firstStack.push(2);
secondStack.pop();
System.out.println(firstStack.pop());
我的问题是,如果 firstStack 引用了 Stack 中的最后一项,而 secondStack 也引用了该项,那么当我从 secondStack 弹出时,firstStack 应该继续引用(前一个)最后一项(即 2)。为什么 firstStack 的引用也更改为第一项? (我的意思是第一项:1)
【问题讨论】:
-
标准java。你有一个有两个名字的对象。
-
我知道这一点。我的问题是这如何工作? firstStack 指向的元素如何变化?这怎么可能?
-
感谢所有答案,但这并不是我真正想要问的。我想我需要问一个更详细的问题来表达自己。
-
请看:stackoverflow.com/questions/13699861/… 谢谢大家回答问题。
标签: java data-structures stack