有两个思路,第一种是使用多态,面向接口,第二种使用泛型
jdk1.7以后可以使用try with resource,会自动关闭,实际编译之后还是try catch finally
可变参数用“...”表示,只可以放在形参的最后一个位置,处理方式和数组一致
如下,需要抛出异常或者try-catch
public static void close(Closeable ... io){
for(Closeable temp:io){
if(null!=temp){
temp.close();
}
}
}
类名.cloae(os,is); 直接把IO流丢进去就好了
也可以使用泛型方法,道理一样
public static <T extends Closeable> void close(T ... io){
for(Closeable temp:io){
if(null!=temp){
temp.close();
}
}
}