可变长参数:
语法:类型...变量名(只能3个点,不能多也不能少)
位置:必须在参数列表的最后(一个方法最多只能有一个可变长参数)
优先级:如果有精确匹配的方法则调用最精确的那个
***特性***:可变长参数可以等同看作数组!
public class VariableParameter {
public static void main(String[] args) {
//add(1,2,3,4,5);
int[] a={1,2,3,4,5}; //根据其特性两种相同
add(a);
}
public static void add(int...a){
for(int temp:a){
System.out.println(temp);
}
System.out.println("我是可变长参数");
}
}
输出:
应用: 利用可变长参数,编写一个关闭流的方法。
package IOClose;
import java.io.Closeable;
import java.io.IOException;
/**
* 工具类关闭流(关闭多个流)
* 可变参数:... 只能在形参最后一个位置(可传递无数个Closeble实现类)
* @author john
*
*/
public class FileUtil {
public static void close(Closeable ... io) throws IOException{
for(Closeable temp:io){
if(null!=temp){
temp.close();
}
}
}
//举例:
/* os.close();
is.close();
等同于:->FileUtil.close(os,is);
*/
}