gpt4 book ai didi

java - Java 中 N 维数组的大小可以改变吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:06 25 4
gpt4 key购买 nike

Java 中的数组是一个对象。因此,如果我有一个二维数组 double[][] matrix = new double[5][5] 那么该数组的每一行都是一个引用内存中一维数组的对象。据我了解,一旦在 java 中设置了数组大小,就无法更改。所以让我声明一个一维数组 double[] d = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 然后我可以设置 matrix [1] = d 这样第 1 行现在指向内存中的 d。我好像数组大小并不是真正固定的。我可以将 matrix 声明为任意大小,只需将引用更改为指向不同大小的数组即可。如果 matrix 大小固定为 5 x 5,为什么我可以这样做?

最佳答案

作业

double[][] matrix = new double[5][5];

实际上创建了6个数组对象。一个元素类型为 double[] 的数组(即 double 数组的数组),长度为 5 并由 matrix 变量引用,以及 5 个元素类型为double 的长度为 5,由 matrix[0]...matrix[4] 引用。

正如您可以通过赋值更改 matrix 变量以引用新数组一样:

matrix = new double[10][10];

您还可以更改任何引用 matrix[i] 以通过分配来引用新数组:

matrix[i] = new double[6];

您没有更改任何现有数组。您正在将引用一个数组的引用变量的值更改为引用另一个数组。

关于java - Java 中 N 维数组的大小可以改变吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39687450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com