我有一个 LinkedList 类,它作为 Queue 类的基础,它作为 PrintQueue 类的基础。
这是我的 PrintQueue 类:
public class PrintQueue<T> {
private Queue<T> queue;
public PrintQueue() {
queue = new Queue<T>();
}
public void lpr(String owner, int jobID) {
queue.enqueue(new Job(owner, jobID));
}
}
从底部开始的queue.enqueue(...)
三行导致错误:
Queue 类型中的方法 enqueue(T) 不适用于参数 (Job)
PrintQueue 是 Job 对象的队列。
我的 Queue 类中的 enqueue 方法如下所示:
public void enqueue(T item) {
queue.addToEnd(item);
}
addToEnd 方法如下所示:
public void addToEnd(T item) {
Node<T> itemnode = new Node<T>(item, null);
if (isEmpty()) {
head = itemnode;
}
else {
Node<T> curr = head;
while (curr.getNext()!=null) {
curr= curr.getNext();
}
curr.setNext(itemnode);
}
count++;
}
为什么这不起作用?所有三个类(PrintQueue、Queue 和 LinkedList)都是通用类。