以下に示すように、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)には適用できません。
他に警告が表示されていません。なぜこれが表示されるのかわかりません。これがジェネリックの要点ではありませんか?一般的に定義し、具体的に実装するには?
助けてくれてありがとう!