我正在寻找一种java.util.Stack在Java中复制的正确方法.
Stack似乎没有复制构造函数,我唯一能够在文档中找到可能做我想要的东西的clone方法就是方法.
但是,如果我写的话
Stack<Integer> stack = (Stack<Integer>) oldstack.clone();
Run Code Online (Sandbox Code Playgroud)
编译器给我一个关于未选中类型的警告.
有没有"适当的"方式让我复制Stack?如果没有,这里最明智的做法是什么?我宁愿不要有任何警告,我觉得有点愚蠢的迭代和复制价值(虽然后者可能会成为最明智的事情).
Joe*_*oey 10
addAll我想你可以使用:
Stack<Integer> stack = new Stack();
stack.addAll(oldStack);
Run Code Online (Sandbox Code Playgroud)
但是,文档说明您应该优先使用Deque而不是Stack类,并且您可以立即获得所需内容:
Deque<Integer> stack = new ArrayDeque<Integer>(oldStack);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |