java+list可变参数_Java 可变参数

众所周知, Java可以通过... 来给一个方法定义一个可变长度的参数.

例如

// 返回可变参数的个数

public void method(int ... i){

System.out.println(i.length);

}

其中注意点一共有两个

只能设定一个可变参数, 并且这个参数必须在最后

//Vararg parameter must be the last in the list

public void method(int... i, String str){

System.out.println(i.length);

}

//Vararg parameter must be the last in the list

public void method(int... i, String... str){

System.out.println(i.length);

}

以上两种都是错误的使用方式

调用的时候, 可以省略这个可变参数. 也就是说, 可以设定最后一个参数的个数为0.

public void test(String str, int... i){

System.out.println(str);

}

public static void main(String[] args) {

System.out.println();

//no error

new Sample().test("hello");

}

顺便说一下, 一个对象即使调用了这个方法, 在调用时个数也是模糊的.

public void test(String str, int... i){

System.out.println(str);

}

public static void main(String[] args) {

System.out.println();

Sample sample = new Sample();

sample.test("as",new int[]{1,2});

sample.test("as",new int[]{1,2,3});

}

你可能感兴趣的:(java+list可变参数)