Java 可变长参数列表
这是 Java 5 引入的一个特性,如果一个方法要接收的参数数量是不确定的,那么这个特性就可以派上用场了。
比如,在涉及IO操作的地方,基本上至少需要关闭两个流:输入、输出,我喜欢把流关闭的操作封装成下面的方法,这样只需一次调用就可以关闭多个流。
public static void closeSilent(Closeable... closeables) {
for (Closeable closeable : closeables) {
if (closeable != null) {
try {
closeable.close();
} catch (IOException ignored) {
}
}
}
}
这是我觉得这个特性唯一适合使用的地方,具备下面的特点:
- 这些参数具有相同的类型;
- 参数数量不确定,每一个都是可选的;
- 这些参数的用途都是一样的,比如上面都是执行关闭。
Java 可变长参数列表只能放在方法参数列表的最后。