multidimensional arrays和array-of-arrays有什么区别?
为什么Java支持arrays of arrays,而不是multidimensional arrays?
发布于 2015-02-28 13:57:21
虽然您的为什么问题在这一点上可能无法回答(这需要Java的原始创建者之一来回答),但您可能会注意到,原始Java的强大设计原则是简单的。本着这种精神,Java所支持的只是一个数组,它本身就为您提供了一个数组数组,作为一个特例:这样一个数组,其组件类型是数组。
真正的多维数组的唯一优点是其成员打包在一起的方式,提供了更好的缓存局部性。这种担忧在原始Java的设计优先级列表中并不是很重要,尽管今天它们在焦点中占据了更大的份额。
有关多维数组利弊的深入回顾,请参考this topic。
发布于 2015-02-28 13:59:28
简短的回答:因为语言是这样设计的。但是数组的功能是多维数组,所以这并不是语言的限制。
这可能是因为Java借用了C和C++的数组语法,而C和C++多维数组也被访问,就好像它们是数组一样。不同之处在于,在Java中,数组是对数组的引用数组(因此数组中的数组可以有不同的长度)。
https://stackoverflow.com/questions/28782357
复制相似问题