1 可变参数介绍
-
在 JDK5 中提供了可变参数,允许在调用方法时传入任意个参数。可变参数原理就是一个数组形式存在
-
格式 : 修饰符 返回值类型 方法名(数据类型… 变量名) { }
-
举例 : public void show(int ... num) : 表达式该方法可以接收任意个整数值 , 原理 : 其实就是一个int类型的数组
2 可变参数注意
-
可变参数只能作为方法的最后一个参数,但其前面可以有或没有任何其他参数。
-
可变参数本质上是数组,不能作为方法的重载。如果同时出现相同类型的数组和可变参数方法,是不能编译通过的。
3 可变参数的使用
-
调用可变参数方法,可以给出零到任意多个参数,编译器会将可变参数转化为一个数组,也可以直接传递一个数组。 方法内部使用时直接当做数组使用即可
4 举例
使用方法
public void myMethod(String... args) {
// 方法体
}
调用方法
myMethod(); // 传递零个参数
myMethod("arg1"); // 传递一个参数
myMethod("arg1", "arg2", "arg3"); // 传递多个参数
简单示例
如何使用可变参数来计算一组整数的平均值:
public class VarargsExample {
public static void main(String[] args) {
System.out.println(average(1, 2, 3, 4, 5)); // 输出 3.0
System.out.println(average(10, 20)); // 输出 15.0
System.out.println(average()); // 输出 NaN(没有参数)
}
public static double average(int... numbers) {
if (numbers.length == 0) {
return Double.NaN; // 如果没有参数,返回 NaN
}
int sum = 0;
for (int num : numbers) {
sum += num;
}
return (double) sum / numbers.length;
}
}