Я работаю с Generics, и у меня возникла проблема. Итак, у меня есть Node class
, у которого есть type parameter<T>
, который распространяется по сопоставимым.Использование класса как параметра типа, который может содержать или не содержать другой параметр типа
public class Node<T extends Comparable<T>> implements Comparable<Node<T>> {
private T info;
private Node next;
private Node previous;
}
Теперь, я разработал еще один класс сказать Priority Queue class
, который также содержит сопоставимое параметр типа.
public class PriorityQueue<Item extends Comparable<Item>>
implements Iterable<Item> {
....
}
Но когда я пытаюсь и использовать класс Node как тип в моем классе приоритета очереди, как это:
private MaxPriorityQueue<Node> maxPriorityQueue;
Это дает мне ошибку говоря, Type parameter Node is not defined within bounds, should implement java.lang.comparable
.
Я думаю, что я концептуально ошибаюсь при реализации этого. Каким должен быть правильный путь?
Есть ли способ изменить класс приоритета Queue, чтобы он мог принимать любой класс (скажем A
), который реализует сопоставимый интерфейс (независимо от того, содержит ли параметр A
параметр типа или нет) в качестве параметра типа.?
Что такое DLLNode? –
Пожалуйста, опубликуйте [mcve] проблемы. – Tunaki
@SleimanJneidi: Извините, я редактировал вопрос. – poorvankBhatia