Java 泛型 - 构造函数调用的显式类型参数
Java Generic - Explict type arguments for constructor invocation
我相信我可以在使用 new 运算符调用构造函数时为 class 提供显式类型参数,如下所示:
MyClass<?> obj = new MyClass<Float>("test", 1);
MyClass 的定义如下:
class MyClass<T>{
<K, V> MyClass(K k, V v){
}
我想在这种情况下,Float 被分配给了类型参数 T。
对于 K & V 编译器从提供的实际参数推断类型。
我的疑问是如何为构造函数提供显式类型参数?
我知道我可以做的方法 obj.method<Integer, String>(1, "test");
我想知道构造函数是否可以使用这种显式类型参数(对于 K&V;不适用于 T)。
希望有人能帮我解决这个问题。
提前致谢。
您在 new
和 class 之间给出类型参数名称:
MyClass<?> obj = new <String, Integer>MyClass<Float>("test", 1);
顺便说一句,对于你在方法名称前给出类型参数的方法:
obj.<Integer, String>method(1, "test");
我相信我可以在使用 new 运算符调用构造函数时为 class 提供显式类型参数,如下所示:
MyClass<?> obj = new MyClass<Float>("test", 1);
MyClass 的定义如下:
class MyClass<T>{
<K, V> MyClass(K k, V v){
}
我想在这种情况下,Float 被分配给了类型参数 T。 对于 K & V 编译器从提供的实际参数推断类型。
我的疑问是如何为构造函数提供显式类型参数?
我知道我可以做的方法 obj.method<Integer, String>(1, "test");
我想知道构造函数是否可以使用这种显式类型参数(对于 K&V;不适用于 T)。
希望有人能帮我解决这个问题。 提前致谢。
您在 new
和 class 之间给出类型参数名称:
MyClass<?> obj = new <String, Integer>MyClass<Float>("test", 1);
顺便说一句,对于你在方法名称前给出类型参数的方法:
obj.<Integer, String>method(1, "test");