PrintQueueクラスのベースとして機能するQueueクラスのベースとして機能するLinkedListクラスがあります。
これが私の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));
}
}
下から3行目のqueue.enqueue(...)
行は、エラーになります。
タイプQueueのメソッドenqueue(T)は、引数(ジョブ)には適用できません。
PrintQueueは、ジョブオブジェクトのキューです。
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++;
}
なぜこれが機能しないのですか?3つのクラス(PrintQueue、Queue、LinkedList)はすべてジェネリッククラスです。