如何在Java中复制此功能?
在C#中,您可以使用params
关键字为函数指定变量参数列表。
你是如何用Java做的?
或者您是否必须采取多次重载?
答案 0 :(得分:9)
C#代码:
double Average(params double[] nums) {
var sum = 0.0;
foreach(var num in nums)
sum += num;
return sum / nums.Length;
}
等效的Java代码:
double average(double... nums) {
double sum = 0.0;
for(double num : nums)
sum += num;
return sum / nums.length;
}
此功能称为varargs。您可以阅读更多相关信息here。
答案 1 :(得分:3)
可变参数函数(Java语言中的“varargs”)的参数作为数组公开给Java函数体。 Wikipedia entry中的示例完美地说明了这一点:
public static void printSpaced(Object... objects) {
for (Object o : objects)
System.out.print(o + " ");
}
// Can be used to print:
printSpaced(1, 2, "three");
答案 2 :(得分:2)
您可以使用...
。例如:
public void foo(int... args) {
for (int arg : args) {
// do something
}
}
答案 3 :(得分:0)
在Java中,您可以使用varargs。但这仅适用于1.5
或更新版本。