扩展与java泛型和接口的可比较

时间:2014-09-24 19:18:02

标签: java generics interface

所以我正在使用泛型创建优先级队列的实现。我有这个接口,我试图在我的PriorityQueue类中实现:

public interface PriorityQueueInterface<Item extends Comparable<Item>> { }

但我不确定正确实现PriorityQueueInterface的正确语法是什么。这是我现在拥有的:

public class PriorityQueue<Item extends Comparable<Item>> implements PriorityQueueInterface<Item extends Comparable<Item>>{ }

但是它会引发多个错误。实现界面的正确方法是什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您已使用Item的类定义将Comparable<Item>声明为PriorityQueue。您只需要在implements子句中引用它,您不需要重复它Comparable<Item>。您可以在implementsextends子句中引用泛型类型参数,就像通用类型参数在范围内的类主体的任何其他部分一样。

尝试

public class PriorityQueue<Item extends Comparable<Item>>
    implements PriorityQueueInterface<Item>{ /* implement here */ }