【发布时间】:2015-01-21 00:54:27
【问题描述】:
我有以下堆栈接口:
public interface Stack <E> {
public void push (E item);
public E pop();
public E peek();
public String toString();
}
以及实现它的以下类:
public class LinkBasedStack<E> implements Stack<E> {
Node<E> head;
public void push (E item){
if (head == null){
Node newNode = new Node(item);
head = newNode;
}
}
public E pop(){
return head; //error
}
}
尽管方法不完整,但我遇到了 Java 告诉我的问题:
“类型不匹配:无法从 Node 转换为 E”。
如何在保持堆栈通用的同时还能返回节点?
【问题讨论】:
-
不是你问的 - 但从来没有必要在接口中列出
String toString();,因为所有类都从Object继承该特定方法。