如何使用可变参数将任意数量的相同类型参数传递给方法?
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
这些参数由类型后的三个点指定。但我不知道方法
中的...
是什么意思
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