更改Java数组的维数
有没有办法改变数组的维数,也就是说
int[][] i = new int[3][3];
但是像这样使用它
getArray(i); //where getArray only accepts one dimensional arrays
?
你可以在下面搜索框中键入要查询的问题!
有没有办法改变数组的维数,也就是说
int[][] i = new int[3][3];
但是像这样使用它
getArray(i); //where getArray only accepts one dimensional arrays
?
# 1 楼答案
不能更改Java数组或数组类型中的维度数
但是你可以利用Java数组是一个对象这一事实。。。和子类型。。并声明如下
getArray
方法:可以在
int[][]
实例上调用此方法,但需要运行时类型转换才能将结果转换为int[]
例如:
另一方面,如果您真的想知道如何将多维数组展平成一维数组,
getArray
方法需要分配一个新数组,从原始数组填充并返回它请注意,您将返回一个全新的阵列,该阵列与原始阵列没有连接。复制一个N x N。。。。xn阵列非常昂贵
有关更多详细信息:Flatten nested arrays in java
# 2 楼答案
Java是静态类型语言。这意味着您不能在运行时更改变量的类型。但在这种特殊情况下,您可以简单地使用以下调用: