我搜索了很多问题和其他互联网文章,但我似乎无法找到适合我的具体情况的那个,而其他任何解决方案都没有为我工作。
我在这里有这个界面:
public interface PriorityQueueInterface<T extends Comparable<? super T>>
我需要创建一个优先级队列类来实现这个接口,所以我输入如下:
public class ArrayPriorityQueue<T> implements PriorityQueueInterface<Comparable<? super T>>
但是,由于我收到此错误,因此无法编译:
type参数Comparable不在范围内 类型变量T#2其中T#1,T#2是类型变量:T#1扩展了Object 在类ArrayPriorityQueue中声明T#2扩展在接口PriorityQueueInterface中声明的Comparable
我尝试了所有类型的组合,但似乎没有任何效果。如何编写类声明以便编译?
答案 0 :(得分:1)
看起来你想要的是用相同的边界声明类型变量,然后将其作为参数传递给接口:
public class ArrayPriorityQueue<T extends Comparable<? super T>>
implements PriorityQueueInterface<T> {...}