[英]Why are Java arrays fixed length?
int[] array = new int[10]; // Length is fixed when the array is created.
创建数组时将确定数组的长度。 创建后,其长度是固定的。
为什么一定要这样呢?
正如其他答案所指出的那样,固定大小是定义的一部分,您必须与原始作者联系,以找到真相。
但总的来说,实现可变长度的容器要复杂得多,并且有许多策略可以实现这一目标(链接列表,内存重新分配...)。
如果作者在1990年代初将数组定义为可变长度,则会产生一些不良后果:
a.length
变得可变; java.util.Vector
,现在是Java Collections,Guava等)。 综上所述,人们普遍希望Java起源于C语言家族中的数组是用于构建更高级别结构的简单工具-那时,固定大小限制为零。 现在,我们可以选择这种结构的实现( LinkedList
, ArrayList
等),它们提供了运行时行为的选择,并且大多数开发人员都使用这些抽象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.