首页 > 解决方案 > 如何在 Java 中设置泛型超类的类型?

问题描述

假设我有一个 E 类型的泛型类,并且我想要一个该泛型的子类,它始终是 MyObject 类型。因此 Generic 类仍然可以用于其他对象,但子类 NonGeneric 始终是 MyObject 类型并且具有 MyObject 特定的功能。

前任:

public class Generic <T extends Comparable <T>>

我想要的是一些

public class NonGeneric<MyObject> extends Generic<T>

标签: java

解决方案


回答:

我没有正确充实我尝试使用的类型,并且扩展了Comparable界面而不是Comparable<MyObject>

这是上述问题的答案的原因是,我希望插入的非泛型类型对象没有正确实现 Comparable,这使我无法声明非泛型类,从而引发错误。我只是太困惑了,无法考虑基础知识。

一旦我的潜在错误得到修复,正确的声明是

public class NonGeneric extends Generic<MyObject>

在哪里

MyObject extends Comparable<MyObject>


推荐阅读