简而言之,我有:
public interface Dictionary<E extends Comparable<E>> extends Iterable<E> {
和
public class TreeDictionary implements Dictionary<TreeDictionary> {
编译时,导致错误
TreeDictionary.java:4:类型参数TreeDictionary不在其中 绑定的公共类TreeDictionary实现 字典{
我想原因可能是因为我对Dictionary接口的声明并不完全清楚。
如果有人能解释一下,我真的很感激:)
答案 0 :(得分:5)
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
的约束条件。
答案 1 :(得分:0)
您的TreeDictionary类还应实现Comaparable接口。
答案 2 :(得分:0)
您需要实现Comparable接口才能正常工作
public class TreeDictionary实现Dictionary,Comparable
希望有所帮助