将 int[][] 作为泛型参数传递
2022-09-02 10:01:58
public static <T> void func1(T[][] arr) {
...
}
public static <T> void func2(T[] arr) {
...
}
我正在尝试传递一个二维数组。int[][] arr
我不能使用,但我可以使用func1(arr)
func2(arr)
有人可以解释一下这是怎么回事吗?
public static <T> void func1(T[][] arr) {
...
}
public static <T> void func2(T[] arr) {
...
}
我正在尝试传递一个二维数组。int[][] arr
我不能使用,但我可以使用func1(arr)
func2(arr)
有人可以解释一下这是怎么回事吗?
T[]
表示某个泛型对象的数组。任何数组类型(包括 )都是一个对象。因此,在 .int[]
int[][]
T[]
T = int[]
但是,因为 不是对象,所以不是有效的 。int
int[][]
T[][]
如果使用 代替 ,则应该能够:Integer
int
func1
Integer[][] arr
func2
Integer[] arr
Integer[][] arr