什么’s the reason I can’在Java中创建通用数组类型?

问题:

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

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

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

回答:

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What’s the reason I can’t create generic array types in Java?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 4 = 4