Java 方法,该方法接受未定义数量的数组

Java 方法,该方法接受未定义数量的数组,java,arrays,list,arguments,variable-length,Java,Arrays,List,Arguments,Variable Length,前一段时间,我在玩使用可变长度参数列表(java)的方法,定义如下 public static int[] makeArray (int... a) { return a; } 这是一个愚蠢的程序,但它所要做的是接收未定义数量的整数,并从中创建一个数组,这样下面所有的程序都将调用相同的方法 makeArray(1); makeArray(1,2); makeArray(1,2,3); 现在我要做的是创建一个具有相同效果的方法,但是使用数组而不是整数。我想它可以通过将数组放入2d数组来实现这一

前一段时间,我在玩使用可变长度参数列表(java)的方法,定义如下

public static int[] makeArray (int... a) {
return a;
}
这是一个愚蠢的程序,但它所要做的是接收未定义数量的整数,并从中创建一个数组,这样下面所有的程序都将调用相同的方法

makeArray(1);
makeArray(1,2);
makeArray(1,2,3);
现在我要做的是创建一个具有相同效果的方法,但是使用数组而不是整数。我想它可以通过将数组放入2d数组来实现这一点,但我不能100%确定这是否可行,因为添加的数组大小可能会有所不同。(可能是因为这个原因,这是不可能的?)。但据我所知,2d数组是制作数组的唯一方法

我已经试过了(请注意,这不是我的实际用途,我只是用它来做实验,看看如何做到这一点)

但这并没有编译

有人能提些建议吗

对于任何感兴趣的人。我想做的是创建一个方法,该方法将接受X多个数组,然后基于循环的运行,这样它将添加所有数组

例如:

int[]sum=newint[a[0].length];

对于(int i=0;i不确定您为什么说它不编译-以下示例对我很有用(编译并打印2):


关于数组大小可能不同的问题。可以使用以下方法:

int[][] b = new int[10][];
int[] c = new int[2];
int[] d = new int[2131231];
b[0] = c;
b[1] = d;

不要预先定义数组内部数组长度-这将解决所有问题。

谢谢,我再次尝试并注意到这是一个愚蠢的错误。我唯一的错误是,我将参数设置为double而不是int,并假设整个参数都不正确,而不仅仅是数字类型。愚蠢的我。。。
int[] sum = new int[a[0].length];
for (int i=0; i<a.length; i++){
for (int j=0; j<a[0].length; j++){
n[i] += a[i][j];
}}
public static void main(String[] args) throws Exception {
    int[] i1 = new int[]{1,2,3};
    int[] i2 = new int[]{1,2,3};
    int count = countArrays(i1, i2);
    System.out.println(count);
}

public static int countArrays(int[]... a) {
    return a.length;
}
int[][] b = new int[10][];
int[] c = new int[2];
int[] d = new int[2131231];
b[0] = c;
b[1] = d;