我有一个类,我试图用它来测试 HashMap 和 TreeMap,如下所示;
public class TestMap<KeyType, ValueType>
{
private Map<KeyType, ValueType> internalMap;
/*
* Entry point for the application
*/
public static void main( String [ ] args )
{
TestMap<String, Integer> testHashMap = new TestMap<String,Integer>(new HashMap<String, Integer>());
testHashMap.test();
TestMap<String, Integer> testTreeMap = new TestMap<String,Integer>(new TreeMap<String, Integer>());
testTreeMap.test();
}
/*
* Constructor which accepts a generic Map for testing
*/
public TestMap(Map<KeyType, ValueType> m)
{
this.internalMap = m;
}
public void test()
{
try
{
//put some values into the Map
this.internalMap.put("Pittsburgh Steelers", 6);
this.printMap("Tested Map", this.internalMap);
}
catch (Exception ex)
{
}
}
}
在尝试调用 put() 方法时,我收到以下错误消息;
类型 Map 中的 put(KeyType, ValueType) 方法不适用于参数 (String, int)
我没有收到任何其他警告,我不明白为什么会收到这个?这不是泛型的全部意义吗?通用定义和具体实现?
感谢您的帮助!