可变参数
今天学习反射时遇到Construct的参数为可变参数
@CallerSensitive
public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
throws NoSuchMethodException, SecurityException {
checkMemberAccess(Member.DECLARED, Reflection.getCallerClass(), true);
return getConstructor0(parameterTypes, Member.DECLARED);
}
举例说明
public static void a(int...x){
}
如果我们要调用这个方法 a(); ,我们可以在a的参数里写int类型的任意个x,也可以不传。
例如 a(2,5,5,5,12);
实际上这个x是个数组,在方法a 中我们可以输出x的长度
public static void a(int[] x){
System.out.println(x.length);
}
可以看成语法糖,...相当于在底层创建数组,省去new数组
可变参数必须在最后
举例说明
public static void a(int y,int...x){
}
那么调用时a(1,2,5,3,5);第一个数字1是y,后面的都是x;
原文:https://www.cnblogs.com/here-I-am/p/11353779.html