拥有像ClassBase<T>
我发现我可以使用
ClassDerived extends ClassBase
或
ClassDerived<T> extends Classbase<T>
所以基本上它意味着我可以删除派生类中的泛型,是吗?
答案 0 :(得分:2)
由于在编译过程中擦除了所有泛型类型信息,当然您可以这样做。但是,除非关闭或禁止警告,否则大多数编译器都会生成警告。例如,如果我写class Foo extends HashMap {}
,Eclipse会报告:“HashMap是一个原始类型。应该参数化泛型HashMap的引用”
答案 1 :(得分:1)
您可以扩展泛型类的原始版本,这是正确的。当然是你的第二个例子:
ClassDerived<T> extends Classbase
...实际上重新引入了一个类型参数。