形参个数可变的方法(...)

  从JDK1.5之后,Java允许定义形参个数可变的参数,从而允许为方法制定数量不确定的形参。如果在定义方法时,在最后一个形参的类型后增加三点(...),则表明该形参可以接受多个参数值,多个参数值被当成数组传入。下面程序定义了一个形参个数可变的方法。

public class Test{
    //定义了形参个数可变的方法
    public static void test1(int a,String...str){
        for(String tmp:str) System.out.println(tmp);
        System.out.println(a);
    }
    //定义了数组形式的形参方法
    public static void test2(int a,String []str){
        for(String tmp:str) System.out.println(tmp);
        System.out.println(a);
    }
    public static void main(String []args){
        test1(1,"tes1测试","test1测试","test1测试");
        test2(2,new String[]{"test2测试","test2测试","test2测试"});
    }
}

  两种测试方法都包含一个名为str的形参,在两个方法的方法体内都可以把str当成数组来处理,但区别是调用两个方法时存在差别,对于以可变形参的形式定义的方法,调用方法时更加简洁。但最后还要注意一点,数组形式的形参String []str可以处于形参列表的任意位置,而个数可变的形参String...str只能处于形参列表的最后。换句话说,一个方法中最多只能有一个长度可变的形参。

原文地址:https://www.cnblogs.com/MazeHong/p/java.html