【发布时间】:2020-02-01 08:25:16
【问题描述】:
当我们创建像int[][] a = new int[2][3] 这样的二维数组时,为什么生成的二维数组由一个包含三元素 int 数组的二元素数组组成,而不是相反。我感到困惑的原因是,当我们做一个数组时,我们做的是datatype[],那么当我们做int[2][3]的时候,为什么不把三个int[2]数组放到一个有三个点的数组中(来自[3])。
【问题讨论】:
-
简单地说,数组的类型不是维度结构的一部分。所以它不像
(int[2])[3]那样思考,而是一个[2][3]数组(2 x 3),类型为int。实际上,您可以通过自己使用模数和乘法来支持多个维度,然后 2x3 或 3x2(在一维数组中)几乎没有区别。至于 为什么 java 以这种方式设计它,您将在一些非常古老的邮件列表中挖掘...
标签: java arrays multidimensional-array