首页 > 编程笔记

Java可变参数的用法

从 Java 5 之后,Java 不仅允许定义形参个数可变的参数,还允许为方法指定数量不确定的形参。

如果定义方法时,在最后一个形参的类型后增加3个点“...”,那么表明该形参可以接收多个参数值,多个参数值被当成数组传入,因此,要求这些参数的类型必须相同。

例如:
public void fun(int ...x)
可以连续出现多个 int 型参数,可以将 x 称为参数代表。

需要注意的是,可变参数必须写在参数列表最后的位置上。例如,下面的用法就是错误的:
public void fun(int ...x, y) //错误

【实例】形参个数可变的方法的调用。
public class Test {
    public static void printString(int x, String... name) {
        System.out.println(x + "个人名:");
        for (String i : name) {
            System.out.println(i);
        }
    }

    public static void main(String[] args) {
        printString(3, "张三", "李四", "王五");
    }
}
运行结果为:

3个人名:
张三
李四
王五

从上面的运行结果可以看出,当调用 printString() 方法时,参数 name 可以传入多个字符串作为参数值。

从 printString() 的方法体来看,形参个数可变的参数从本质上来说就是一个数组。如果参数的个数需要灵活变化,那么使用可变参数可以使方法的调用更加灵活。

推荐阅读