首页 > 解决方案 > 将 int[][] 作为通用参数传递

问题描述

public static <T> void func1(T[][] arr) {
    ...
}

public static <T> void func2(T[] arr) {
    ...
}

我正在尝试传递一个二维数组,int[][] arr.

我不能用func1(arr),但我可以用func2(arr)

有人可以解释一下这是如何工作的吗?

标签: javagenericsmethodsparametersparameter-passing

解决方案


T[]表示一些通用对象的数组。任何数组类型(包括int[])都是对象。因此,int[][]是一个有效的T[]when T = int[]

但是,因为int不是对象,int[][]所以不是有效的T[][].


推荐阅读