我试图动态设置数组大小。这是我的输入值数组值

int[][] dubArr={{2,5,6},{2,5,4,7}};


我想设定阵列大小

int[][] size=new int[dubArr.length][dubArray[0].length];


但是问题是我不能存储第二个数组的最后一个值

不要说[dubArray[1].length];

最佳答案

找到第二维的最大长度并在一行中创建新数组会使该数组变成正方形,因此您将丢失有关其形状的信息。因此,我想您真正想要的是原始数组的原始副本,其原始形状为:

if (dubArr == null) {
    return null;
}
final int[][] size = new int[dubArr.length][];
for (int i = 0; i < dubArr.length; i++) {
    size[i] = dubArr[i].clone();
}
return size;


即使dubArrnull或为空,这也将起作用。

关于java - 如何获得不同长度的二维数组的最大大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31289457/

10-11 20:25