Java的变参函数实现实际上参数是一个数组,其简单用法如下
public class variableParamTest {
private static void variableParam(Object... args) {
for (Object v : args) {
System.out.print(v.toString() + " ");
}
System.out.println();
}
private static void variableParam2(int a, int... args) {
System.out.println("a: " + a);
System.out.print("variable params num: " + args.length);
}
public static void main(String[] args) {
variableParam(1, 2.0F, 3L, 'Z');
variableParam2('A', 2, 3, 4);
}
}
1 2.0 3 Z
a: 65
variable params num: 3
基于Java的根类是Object,我们可以将变参函数类型定义为Object,这样就可以支持所有不同类型的变长参数,而且Java变参提供自动包装功能,例如int->Integer, float->Float等等。
另外,我们可以将变参和非变参结合在一起使用,例如上例中的variableParam2(),另外变参函数的传值允许为空。