如何使用可变参数将任意数量的相同类型参数传递给方法?

And*_*ndi 3 java arrays parameter-passing

这些参数由类型后的三个点指定。但我不知道...这个方法是什么意思

public static void printNumberOfArguments(int... numbers) {
    System.out.println(numbers.length);
}
Run Code Online (Sandbox Code Playgroud)

以及文档中

public static void method(long.. vararg) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)

这是错误的我不知道为什么?

Mon*_*lla 5

可以使用名为 varargs(可变长度参数)的特殊语法将任意数量的相同类型的参数传递给方法。这些参数由类型后的三个点指定。在方法的主体中,您可以将此参数作为指定类型的常规数组进行处理。

您的方法采用整数 vararg 参数,并使用数组的 length 属性在标准输出中输出参数的数量。

... 是这里用来指定可变参数的特殊语法。

我正在尝试为您提供两种类型或在 java 中的方法中传递可变参数:

不正确的例子:

public static void method(double... varargs, int a) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)

该方法的正确版本是:

public static void method(int a, double... varargs) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)

  • 很高兴为您提供帮助:) (2认同)