Varargs (variable arguments)可变长参数是Java 1.5引入的特性。
方法的形参如print(String ... s),实参为任意数目的值。
public class VarargsDemo{
public static void print(String ... s){
for(String a: s)
System.out.print(a);
}
public static void main(String[] args) {
print("a", "\n");
print("a", "b", "\n");
print("a", "b","c\n");
}
}输出:
a
ab
abc
工作原理:
1.以调用方传递的参数的数目为长度创建一个数组;
2.将实参的值放入数组中,
3.将数组(的引用)传递给被调方法。
例子:
String.format(String format, Object... args)
反射机制中。【7.3.2中很多API用到了变长参数。不记得《编程导论》中讲了变长参数没有,补充一下先】
注意:
变长参数要作为方法的最后的形参;
避免重载编译错误。