接口中的java泛型子类型

时间:2011-06-24 16:58:54

标签: java generics interface

如果我有以下界面,我想实现它

public interface A<E extends Comparable<E>>{
    //code
}

实现类声明的正确语法是什么?我这样做时出错了

public class B<E extends Comparable<E>> implements A<E extends Comparable<E>>{}

它应该只是阅读implements A<E>还是implements A

2 个答案:

答案 0 :(得分:3)

Comparable类型E的位置,例如String,您需要:

public class B implements A<String> { ... }

如果要在B中保留泛型类型参数声明,您可以:

public static class B<E extends Comparable<E>> implements A<E> { ... }

请注意E中的AE中的B无关,即以下内容有效:

public static class B<Foo extends Comparable<Foo>> implements A<Foo> { ... }

(无论你是想区分你的代码我不知道,但它可能有助于理解)

答案 1 :(得分:2)

public class B<E extends Comparable<E>> implements A<E>{}