我在某个地方见过这段代码:
Stack<TreeNode> stack = new ArrayDeque<TreeNode>();
我的问题是,ArrayDeque不是一个堆栈,为什么上面的代码是对的?
ArrayDeque实现了这些接口:
Serializable
,Cloneable
,Iterable<E>
,Collection<E>
,Deque<E>
,Queue<E>
http://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html
但我在任何地方都看不到堆栈...... 我需要帮助。
答案 0 :(得分:4)
此代码无法使用标准Stack
和ArrayDeque
进行编译:
Error: java: Type mismatch: cannot convert from java.util.ArrayDeque to java.util.Stack
我看到的唯一可能是这些类不是来自java.util
包。