【发布时间】:2011-02-02 08:15:49
【问题描述】:
如何在 Java 中复制此功能?
在 C# 中,您可以使用 params 关键字来指定函数的可变参数列表。
你如何在 Java 中做到这一点?
或者你必须求助于多个重载?
【问题讨论】:
标签: java function variables parameters
如何在 Java 中复制此功能?
在 C# 中,您可以使用 params 关键字来指定函数的可变参数列表。
你如何在 Java 中做到这一点?
或者你必须求助于多个重载?
【问题讨论】:
标签: java function variables parameters
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;
}
此功能称为可变参数。你可以阅读更多关于它的信息here。
【讨论】:
可变参数函数(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");
【讨论】:
您可以使用...。例如:
public void foo(int... args) {
for (int arg : args) {
// do something
}
}
【讨论】:
在 Java 中,您可以使用 varargs。但这仅适用于1.5 或更新版本。
【讨论】: