可变参数
-
可变参数意思是参数的个数是可变,用作方法的形参,可以使方法参数个数为动态变化的。
-
可变参数变量底层其实是一个数组;
-
如果一个方法有多个参数,包含可变参数,可变参数要放在最后。
在一般情况下,我们对于方法重载是这么写的:
public static void main(String[] args) {
nums(1);
nums(2, 2);
nums(3, 3, 3);
// 结果:
// 1
// 2 2
// 3 3 3
}
public static void nums(int a) {
System.out.println(a);
}
public static void nums(int a, int b) {
System.out.println(a);
System.out.println(b);
}
public static void nums(int a, int b, int c) {
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
但是有了可变参数,我们可以把相同类型用可变参数 类型...
来表示;
public static void main(String[] args) {
nums(1);
nums(2, 2);
nums(3, 3, 3);
}
public static void nums(int... a) { //传进来的参数自动转成了int类型的数组
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
要注意可变参数必须要放在最后。
如果要是可变参数放在前面,当形参列表一样的时候,就没法区分第一个参数是单个参数还是个数组,但是如果我们把可变参数放后面,那前面的对应好了,剩下的就都属于数组了。