接口(interface)中的java泛型子类型

标签 java generics interface

如果我有如下接口(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

最佳答案

例如,Comparable 类型 EString,您需要:

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

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

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

请注意,A中的EB中的E没有关系,即以下是有效:

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

(不知道你的代码中是否要区分,但它可能有助于理解)

关于接口(interface)中的java泛型子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471176/

相关文章:

用于指定框架大小的 Java Swing 应用程序

java - 如何实现 Java 通用数据结构,避免类型删除转换问题

kotlin - Kotlin 中可以省略类型参数吗?

java - Hibernate序列化/反序列化对象并保存

java - 将 ByteArrayOutputStream 传递到 DataOutputStream 的构造函数中

java - Spring Boot 测试无法使用 LocalServerPort 注释 Autowiring 端口

java - < 和有什么区别? super E> 和 <?扩展 E>?

c# - 如何使用反射来查找实现特定接口(interface)的属性?

java - IntelliJ IDEA 'class' 或 'interface' 预期

java - 匿名类怎么可以有参数呢?