1.什么是不定长参数
不定长参数是Java5引入的一个新特性,它允许方法接收任意个参数值。
public static void main(String[] args) {
print("a");
print("a", "b");
print("a", "b", "c");
}
public static void print(String ... s){
for(String a: s)
System.out.println(a);
}
2.不定长参数是如何实现的
当使用任意个参数值时,实际上会创建一个大小为参数个数的数组在调用方法时,让后将参数值放入数组中,最后将这个数组传入方法。
3.什么时候使用不定长参数
根据定义,当一个方法处理任意个参数时,不定长参数会派上用场。Java SDK中有一个很好的应用:String.format(String format, Object...args),这个方法可以格式化任意个数的参数,所以使用了不定长参数:
String.format("An integer: %d", i);
String.format("An integer: %d and a string: %s", i, s);