1

简而言之,我有:

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

public class TreeDictionary implements Dictionary<TreeDictionary> {

编译时,导致错误

TreeDictionary.java:4:类型参数 TreeDictionary 不在其绑定内 public class TreeDictionary implements Dictionary {

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

如果有人能向我解释这一点,我将不胜感激:)

4

3 回答 3

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

于 2012-05-10T15:47:45.000 回答
0

您的 TreeDictionary 类也应该实现 Comaparable 接口。

于 2012-05-10T15:48:28.183 回答
0

您需要实现 Comparable 接口才能使其工作

公共类 TreeDictionary 实现 Dictionary, Comparable

希望能帮助到你

于 2012-05-10T15:49:42.363 回答