声明为方法的方式
void X(Object... values){}
与声明为方法
类似。
void X(Object[] values){};
可以使用Object[]
调用它,但只能使用第一个来传递可变数量的参数。您可以使用List.toArray()将列表转换为数组,以便您可以调用X(list.toArray())
。以下是演示示例代码:
import java.util.Arrays;
public class VarargsExample {
public static void foo( Object... args ) {
System.out.println( "foo: "+Arrays.toString( args ));
}
public static void bar( Object[] args ) {
System.out.println( "bar: "+Arrays.toString( args ));
}
public static void main(String[] args) {
foo( 1, 2, 3 );
foo( new Object[] { 7, 8, 9 } );
bar( new Object[] { 10, 11, 12 } );
foo( Arrays.asList( 13, 14, 15 ).toArray() );
bar( Arrays.asList( 16, 17, 18 ).toArray() );
}
}
foo: [1, 2, 3]
foo: [7, 8, 9]
bar: [10, 11, 12]
foo: [13, 14, 15]
bar: [16, 17, 18]
List#toArray(..)
。 - Sotirios Delimanolis