Java 中的 ... 参数
三点 ...
运算符通常称为 Varargs,它是 Variable-length Arguments
的缩写。JDK 5 中引入了可变参数以简化使用可变数量的参数。在此之前,我们不得不使用重载或将参数放入一个效率不高的数组中。在以下示例中,我们将了解如何充分利用 Varargs。
在 Java 中的方法中使用 Varargs 接受可变数量的参数
在这个程序中,我们创建了一个名为 functionWithVarArgs()
的静态方法,并将接收参数的类型设置为 String
后跟三个点和参数名称 str
,这意味着我们可以传递任意数量的 String
输入参数。
在 functionWithVarArgs()
方法中,我们创建了一个增强的 for
循环,用于打印每个 str
值。在 main()
函数中,我们首先在 functionWithVarArgs()
函数中传递四个参数,然后再次使用三个参数调用相同的函数。输出显示所有传递的参数。
public class Main {
public static void main(String[] args) {
functionWithVarArgs("String 1", "String 2", "String 3", "String 4");
functionWithVarArgs("String A", "String B", "String C");
}
static void functionWithVarArgs(String... str) {
for (String s : str) {
System.out.println(s);
}
}
}
输出:
String 1
String 2
String 3
String 4
String A
String B
String C
在 Java 中使用具有多种类型参数的 Varargs
要使用 Varargs,我们必须遵循一些规则;第一条规则是 Varargs 必须是最后一个参数,否则编译器会抛出错误,第二条规则是方法中不能有多个 Varargs。
在下面的代码中,我们传递了两种类型的参数,其中 str
是 String
类型并且只是一个参数。functionWithVarArgs()
方法的最后一个参数是 int
类型的 Varargs。现在在 main()
中,我们使用第一个参数作为单个值调用函数,第二个参数可以是可变长度的,因为它是 Vargargs
。
public class Main {
public static void main(String[] args) {
functionWithVarArgs("String 1", 1, 2);
functionWithVarArgs("String A", 10, 20, 30, 40);
}
static void functionWithVarArgs(String str, int... num) {
for (int n : num) {
System.out.println(n);
}
}
}
输出:
1
2
10
20
30
40
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn