首页 > 代码库 > Java中的不定长参数

Java中的不定长参数

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);

Java中的不定长参数