简而言之,我有:

public interface Dictionary<E extends Comparable<E>> extends Iterable<E> {




public class TreeDictionary implements Dictionary<TreeDictionary> {


编译时,导致错误


  TreeDictionary.java:4:类型参数TreeDictionary不在其内部
  绑定的公共类TreeDictionary实现
  字典{


我想原因可能是因为我对Dictionary接口的声明不完全清楚。

如果有人可以向我解释一下,我将不胜感激:)

最佳答案

public interface Dictionary<E extends Comparable<E>>


也就是说,无论您想用于E的哪种类型,都必须实现Comparable接口。

给定您的TreeDictionary定义:

public class TreeDictionary implements Dictionary<TreeDictionary>


TreeDictionary不实现Comparable,因此不能用E的通用类型替换Dictionary

尝试以下方法:

public class TreeDictionary implements Dictionary<TreeDictionary>, Comparable<TreeDictionary>


TreeDictionary现在应符合E的约束。

07-24 21:46