java - 集合的非泛型子类的构造函数

标签 java generics

这是我应该知道的事情,但我对此一片空白,并且在尝试通过谷歌找到答案时遇到了惊人的困难。

我正在尝试扩展 Java Collection ,特别是 ConcurrentHashMap .我想创建我自己的 HashMap 类以用于非通用键/值对,特别是使用我自己的类。

所以我定义了这个类:

public class hashMap extends ConcurrentHashMap<class1, class2>

问题是我忘记了如何正确编写构造函数以使它们不是通用的。例如,原始的 concurrentHashMap ,您必须调用其构造函数指定键/值对的类。我只想简单地调用构造函数 hashMap() , 而无需指定那些泛型。

我试过调用 super<class1, class2>();在构造函数中,但这给了我一个错误。

这看起来应该是非常简单的事情,我很肯定我曾经知道如何做到这一点,但是已经有一段时间了,就像我说的我正在画一个空白。

谢谢。

最佳答案

很简单super();将起作用——或者根本不起作用,因为它是隐含的。请记住 new HashMap<String,Integer>();在方法调用的相同意义上,它并不是真正的构造函数调用:它是要实例化的类型 + 构造函数参数的规范。构造函数本身不接收类型参数,它们仅作为调用站点类型信息存在。

关于java - 集合的非泛型子类的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100151/

相关文章:

java - 当 WAR 文件中包含 JAXB impl jar 时,JAXB 的解码器无法在 WebSphere Application Server 7 上工作?

java - TestNG 注解-案例跳过

Java 泛型、类型删除、通配符和 Function<?...> 产生不兼容的类型

Scala 相互可转换的泛型类型

c# - 测试一个类是否可以被序列化

java - Sonar 提示 "The diamond operator ("< >") should be used"

java - 从java将blob存储到mysql 5.7.16时出现奇怪的异常

java - 替换 ViewPager fragment

java - 提供类对象作为通用参数

Java 泛型类型