这是我应该知道的,但是我在上面写了一个空白,并且在尝试用谷歌找到答案时遇到了惊人的困难.
我正在尝试扩展Java Collection,特别是ConcurrentHashMap.我想创建自己的哈希映射类,以便与非泛型键/值对一起使用,特别是使用我自己的类.
所以我已经定义了这样的类:
public class hashMap extends ConcurrentHashMap<class1, class2>
Run Code Online (Sandbox Code Playgroud)
问题是我忘记了如何正确编写构造函数,以便它们是非泛型的.例如,对于原始concurrentHashMap,您必须调用其构造函数来指定键/值对的类.我想只是简单地能够调用构造函数hashMap(),而无需指定那些泛型.
我试过调用super<class1, class2>();构造函数,但这给了我一个错误.
这似乎应该是非常简单的事情,我很肯定我曾经知道如何做到这一点,但它已经有一段时间了,就像我说的那样,我正在画一个空白.
谢谢.
只是简单明了super();会起作用 - 或者根本不起作用,因为它是隐含的.请记住,new HashMap<String,Integer>();在方法调用的意义上,它实际上不是构造函数调用:它是实例化+构造函数参数的类型的规范.构造函数本身不接收类型参数,它们仅作为调用站点类型信息.