调用泛型方法时出错

时间:2013-12-03 15:57:40

标签: java class generics methods

我有两个通用类

class Value<T>{...}

class Parameter<T>{...}

我想从另一个类(Params)调用一个方法

    public <T> void put(Parameter<T> key, Value<T> value) {
    parameters.put(key, value);
}

从我的主类我想用两个对象Value和Parameter调用它,但是用这种方式输入:

 Value<Integer> v1 = new Value<Integer>(2);
 Parameter<Integer> p1 = new Parameter<Integer>(3);
 Params params = new Params();
 params.put(p1,v1);

我从Eclipse收到此错误:

The method put(Parameter<T>, Value<T>) in the type Parameters is not applicable for the arguments (Parameter<Integer>, Value<Integer>)

如何在没有此错误的情况下调用此方法的任何提示?这个课程不是由我开发的,所以我试图称它们没有成功。

1 个答案:

答案 0 :(得分:0)

编译器无法派生你的类,所以你必须给它一个提示:

params.<Integer>put(p1,v1);

将Params类设为通用是否有意义?