如何根据用户引入的尺寸制作数组?
例如,如果你在该数组中引入了5个(维度),我们需要一个包含4个维度的数组,其中包含3个维度等等...
请帮忙!
答案 0 :(得分:2)
您可以使用Array#newInstance
int[][][] ar = (int[][][]) Array.newInstance(int.class, 3, 2, 1);
System.out.println(Arrays.deepToString(ar));
或
int[] dimensionLengths = new int[numberOfDimensions];
Arrays.fill(dimensionLengths, 1);
Array.newInstance(int.class, dimensionLengths);
答案 1 :(得分:0)
由于数组是Object,因此Object(Object [])数组本身可以包含数组,依此类推。 这需要大量的铸件,并且非常不安全和丑陋,但可以做到。
例如:
Object[] arr3d = new Object[10]; // create the first dimension
arr3d[0] = new Object[20]; // create the second dimension
((Object[])arr3d[0])[0] = new Object[30]; // create the third dimension
...
但是,我不推荐实际做到这一点。