java - 如何修复此 VarArgs 构建错误?

标签 java variadic-functions

主要方法如下:

package main;

import varArgs.VarArgs;

public class Main {

    public static void main(String[] args) {
        int answer;

        answer = VarArgs.sum(new int[]{1,2,3});
        System.out.println("sum of ints = " + answer);

        answer = VarArgs.sum(new int[]{1,2,3}, new int[] {100, 200, 300});
        System.out.println("sum of ints = " + answer);

    }
}

这是 var args 方法:

package varArgs;

    public class VarArgs {
        /***
         * Add an array of integers
         * @param numbers Some array of integers
         * @return The sum of all the elements in num
         */
        public static int sum(int... numbers) {
            int result = 0;
            for (int i : numbers) {
                result += i;
            }
            return result;
        }   
    }

这是我收到的错误: Error

最佳答案

可变参数参数只能接受单个数组。如果你想传入可变数量的数组,你需要这样做:

public static int sum(int[]... arrays) {
    int sum = 0;
    for (int[] numbers : arrays) {
        for (int i : numbers) {
            sum += i;
        }
    }
    return sum;
}

关于java - 如何修复此 VarArgs 构建错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50048682/

相关文章:

Java多变长参数

java - 从 Set<SomeEnum> 转换为 Set<? extends SomeInterface> 当 SomeEnum 实现 SomeInterface 时

java - Tink 中的多个私钥/公钥对

Java:当它们不是 getter 时,编写以 "get"开头的方法是不好的做法吗?

java - @SafeVarargs 接口(interface)方法

c - 如何判断一个可选参数是否传递给函数 C

我可以使用两级可变长度参数函数......?

java - spring-boot-starter-data-jpa@ManyToMany 集合未填充

java - 为什么在 equals 中使用的所有字段也应该在 hashcode 中使用?

c - 获取函数参数类型