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

How to pass an arbitrary number of the same type arguments to a method using varargs?

这些参数由类型后的三个点指定。但我不知道方法

中的...是什么意思
public static void printNumberOfArguments(int... numbers) {
    System.out.println(numbers.length);
}

还有文档

public static void method(long.. vararg) { /* do something */ }

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

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

您的方法采用整数可变参数,并使用数组的长度 属性 在标准输出中输出参数的数量。

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

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

不正确的例子:

public static void method(double... varargs, int a) { /* do something */ }

方法的正确版本是:

public static void method(int a, double... varargs) { /* do something */ }

可变长度参数由三个句点()指定。

您可以调用传递多个整数或整数数组的方法。这些示例将帮助您理解这一点:

printNumberOfArguments(1);
printNumberOfArguments(1, 2);
printNumberOfArguments(1, 2, 3);
printNumberOfArguments(new int[] { }); // no arguments here
printNumberOfArguments(new int[] { 1, 2 });

此代码输出:

1
2
3
0
2