Java Generic - 构造函数调用的显式类型参数

时间:2015-03-25 10:22:17

标签: java generics

我相信我可以在使用new运算符调用构造函数时为类提供显式类型参数,如下所示:

MyClass<?> obj = new MyClass<Float>("test", 1);

其中MyClass的定义如下:

class MyClass<T>{
    <K, V> MyClass(K k, V v){        
}

我想在这种情况下,Float被赋值为类型参数T. 对于K&amp; V编译器从提供的实际参数中推断出类型。

我怀疑我是如何为构造函数提供显式类型参数的? 我知道我可以做的方法,如obj.method<Integer, String>(1, "test");

我想知道这种显式类型参数(对于K&amp; V;对于T来说)是否可能与构造函数一起使用。

希望有人能为我清除这一点。 提前谢谢。

1 个答案:

答案 0 :(得分:6)

您在new和类名之间提供类型参数:

MyClass<?> obj = new <String, Integer>MyClass<Float>("test", 1);

BTW,对于方法名称之前给出类型参数的方法:

obj.<Integer, String>method(1, "test");