java - 将 int[][] 作为通用参数传递
问题描述
public static <T> void func1(T[][] arr) {
...
}
public static <T> void func2(T[] arr) {
...
}
我正在尝试传递一个二维数组,int[][] arr
.
我不能用func1(arr)
,但我可以用func2(arr)
有人可以解释一下这是如何工作的吗?
解决方案
T[]
表示一些通用对象的数组。任何数组类型(包括int[]
)都是对象。因此,int[][]
是一个有效的T[]
when T = int[]
。
但是,因为int
不是对象,int[][]
所以不是有效的T[][]
.
推荐阅读
- angular - 为什么不工作查找方法以及如何在 Angular 中获取数据?
- symfony - OroPlatform:覆盖核心实体表单构建器
- c++ - UNIX sockets::recv、std::byte 和严格别名
- javascript - 无法从 React 中的模块创建类
- c - 为什么 VS Code、C 构建有效但运行代码无效?
- tensorflow - 使用 image_dataset_from_directory 获取每个类一张图像的样本
- typescript - 如何声明类型的“转置”版本?
- c# - 在 Xamarin.Forms 每日计数中显示条形图
- java - 在处理 3 中在 3D 对象上绘制 2D 文本
- python - 如何为 Ansible Playbook 调试创建可移植的 VSCode 启动配置?