Java - 泛型方法的数组参数的类型推断

时间:2016-04-09 14:25:39

标签: java arrays generics type-inference generic-method

类型推断似乎不适用于具有泛型方法的数组?我收到错误'方法包含(T [],T)不适用于参数(int [],int)'。我该怎么做?

method(new int[1], 0); //Error

...

public static <T> void method(T[] array, T value) {
    //Implement
}

2 个答案:

答案 0 :(得分:1)

您可以使用Integer而不是int,因为泛型不适用于基本类型。

答案 1 :(得分:0)

为什么在这里使用primitive类型。泛型仅适用于referenced类型。

method(new int[1], 0); //Error

最好与

一起使用
 method(new Integer[]{1,2,3,4}, 0); //works fine