java 。如何禁止使用原始泛型类型?

标签 java generics

您好,我正在编写报告系统,并且希望最终用户在扩展我的类时指定类型。

class A <T extends C>
{...}

class B extends A // Compile error
{...}

class B extends A<D> // Compile error
{...}

class B extends A<C> // Success

这可能吗?

最佳答案

class B extends A // Compile error

不,为了向后兼容,Java 中的泛型是可选的。你不能强制程序员使用它们。这只会生成警告(“不要使用原始类型”)。

 class B extends A<D>  // compile error

如果他们确实使用泛型,那么他们必须是正确的。如果 D 与规范不匹配,则会出现编译错误。

关于 java 。如何禁止使用原始泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031854/

相关文章:

java - -Xmx属性与可用系统内存关联

ios - 如何创建一个包含符合协议(protocol)的对象的元组?

c# - 如何从接口(interface)返回派生程度更高的类型?

java - 扩展 ParseObject 并拥有通用查询工厂的正确方法

java - 选择屏幕的像素选择

java - 在 weblogic 上部署 Ear 时出现 classNotFound 异常

java - 如何导入在多个位置的包中声明的类的特定版本?

TypeScript - 递归泛型和叶分支问题(终极 TicTacToe)

java - 如何检索泛型类型的类

java - android位图中的内存不足错误