Я просмотрел множество вопросов и других статей в Интернете, но, похоже, не могу найти тот, который подходит для моего конкретного случая, и ни одно из других решений не помогло мне.
У меня есть этот интерфейс здесь:
public interface PriorityQueueInterface<T extends Comparable<? super T>>
Мне нужно создать класс приоритетной очереди для реализации этого интерфейса, поэтому я напечатал его так:
public class ArrayPriorityQueue<T> implements PriorityQueueInterface<Comparable<? super T>>
Однако он не компилируется, так как я получаю эту ошибку:
Аргумент типа Comparable не находится в границах переменной типа T#2, где T#1,T#2 являются переменными типа: T#1 extends Object, объявленный в классе ArrayPriorityQueue T#2 extends Comparable, объявленный в интерфейсе PriorityQueueInterface
Я пробовал все типы комбинаций, но ничего не работает. Как мне написать объявление класса, чтобы оно скомпилировалось?