Java不允许我们做的原因是什么
private T[] elements = new T[initialCapacity];
我可以理解 .NET 不允许我们这样做,因为在 .NET 中,值类型在运行时可以具有不同的大小,但在 Java 中,所有类型的 T 都将是对象引用,因此具有相同的大小(如我错了请纠正我)。
是什么原因?
这是因为 Java 的数组(与泛型不同)在运行时包含有关其组件类型的信息。所以在创建数组的时候一定要知道组件的类型。由于您不知道T运行时是什么,因此您无法创建数组。
T