java - 接受未定义数量的数组的方法

标签 java arrays list arguments variable-length

不久前,我正在研究使用可变长度参数列表(java)的方法,其定义如下

public static int[] makeArray (int... a) {
return a;
}

这是一个愚蠢的程序,但它要做的是接受未定义数量的整数并用它们创建一个数组,以便下面的所有内容都将调用相同的方法

makeArray(1);
makeArray(1,2);
makeArray(1,2,3);

现在我想做的是创建一个具有相同效果的方法,但使用数组而不是整数。我想也许可以通过将数组放入二维数组来做到这一点,但我不能 100% 确定这是否可能,因为添加的数组的大小可能会有所不同。 (也许甚至因为这个原因这是不可能的?)。但据我所知,二维数组是制作数组数组的唯一方法。

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

public static int countArrays(int[]... a) {
return a.length;
}

这没有编译。

有人可以提出建议吗?

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

例如:

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];
}}

最佳答案

不知道为什么你说它不能编译 - 以下示例对我有用(编译并打印 2):

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;
}

关于java - 接受未定义数量的数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009091/

相关文章:

python - 检查 python 列表的内容

java - 类型转换 - foreach - java

c# - 将元素添加到列表的递归方法

java - 我必须做什么才能保证 ccc.jar 在 aaa.jar 之前加载?

java - 如何获得用户偏好的单位? (公制(米)或英制(英里))?

java - 如何判断一个对象是否实现了类似 toString() 的方法?

javascript - 比较两个包含对象的数组,包括其他对象、数组等

java - sqlite数据库android将所有列值放入字符串数组

java - BlazeDS : what ARE those standard security fault codes?

arrays - Bash shell 数组操作