java - 泛型中的数组类型

标签 java arrays generics

我正在尝试创建一个泛型数组。我收到错误:

 Pair<String, String>[] pairs;   // no error here

 pairs = new Pair<String, String>[10];   // compile error here

 void method (Pair<String, String>[] pairs)  // no error here.

我很困惑。为什么会发生这种情况的任何线索。

最佳答案

这背后的原因是您不能创建泛型或参数化类型的数组,只能创建具体化类型(即可以在运行时推导的类型)。

虽然可以声明这样的数组类型作为变量或方法参数。这有点不合逻辑,但这就是 Java 现在的样子。

Java Generics and Collections在第 6 章中广泛处理这个问题和相关问题。

关于java - 泛型中的数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853411/

相关文章:

java - 什么是原始类型,为什么我们不应该使用它呢?

generics - 是否可以在Rust中编写通用整数长度函数?

java - 将文件从客户端发送到服务器

java - 在运行多个单元测试之前需要设置对象

python - 如何向包含数据的现有数组添加一层、一行和一列

javascript - 如何在 Javascript 或 Jquery 中关联两个值?

java - 不同起点的八皇后算法

java - M2Eclipse:当 maven 更新工作区中的项目时,如何避免 M2E 更改我的类路径

javascript - 具有主值和次值的数组排序

c# - 开关盒和泛型检查