小编典典

我无法在 Java 中创建泛型数组类型的原因是什么?

all

Java不允许我们做的原因是什么

private T[] elements = new T[initialCapacity];

我可以理解 .NET 不允许我们这样做,因为在 .NET 中,值类型在运行时可以具有不同的大小,但在 Java 中,所有类型的 T
都将是对象引用,因此具有相同的大小(如我错了请纠正我)。

是什么原因?


阅读 106

收藏
2022-04-22

共1个答案

小编典典

这是因为 Java
的数组(与泛型不同)在运行时包含有关其组件类型的信息。所以在创建数组的时候一定要知道组件的类型。由于您不知道T运行时是什么,因此您无法创建数组。

2022-04-22