Java:实现有界泛型接口时遇到问题
Java: Having trouble implementing bounded generics interface
我搜索了很多问题和其他 Internet 文章,但似乎找不到适合我的具体情况的解决方案,而 none 的其他解决方案对我有用。
我这里有这个界面:
public interface PriorityQueueInterface<T extends Comparable<? super T>>
我需要做一个优先级队列class来实现这个接口,所以我这样打出来的:
public class ArrayPriorityQueue<T> implements PriorityQueueInterface<Comparable<? super T>>
但是,它没有编译,因为我得到这个错误:
type argument Comparable is not within bounds of
type-variable T#2 where T#1,T#2 are type-variables: T#1 extends Object
declared in class ArrayPriorityQueue T#2 extends Comparable declared in interface PriorityQueueInterface
我尝试了所有类型的组合,但似乎没有任何效果。如何编写 class 声明以便编译?
看来您想要的是声明具有相同边界的类型变量,然后将其作为参数传递给接口:
public class ArrayPriorityQueue<T extends Comparable<? super T>>
implements PriorityQueueInterface<T> {...}
我搜索了很多问题和其他 Internet 文章,但似乎找不到适合我的具体情况的解决方案,而 none 的其他解决方案对我有用。
我这里有这个界面:
public interface PriorityQueueInterface<T extends Comparable<? super T>>
我需要做一个优先级队列class来实现这个接口,所以我这样打出来的:
public class ArrayPriorityQueue<T> implements PriorityQueueInterface<Comparable<? super T>>
但是,它没有编译,因为我得到这个错误:
type argument Comparable is not within bounds of type-variable T#2 where T#1,T#2 are type-variables: T#1 extends Object declared in class ArrayPriorityQueue T#2 extends Comparable declared in interface PriorityQueueInterface
我尝试了所有类型的组合,但似乎没有任何效果。如何编写 class 声明以便编译?
看来您想要的是声明具有相同边界的类型变量,然后将其作为参数传递给接口:
public class ArrayPriorityQueue<T extends Comparable<? super T>>
implements PriorityQueueInterface<T> {...}