java:如何创建一个支持任意数量参数的函数?

2022-09-01 15:14:49

是否可以在java中创建一个支持任意数量参数的函数,然后能够迭代提供给函数的每个参数?

谢谢

克菲尔


答案 1

Java 自 Java 1.5(2004 年 9 月发布)以来一直具有 varargs

一个简单的例子看起来像这样...

public void func(String ... strings) {
    for (String s : strings)
         System.out.println(s);
}

请注意,如果要要求必须将一些最小数量的参数传递给函数,同时仍然允许变量参数,则应执行类似操作。例如,如果您有一个函数,该函数至少需要一个字符串,然后是一个可变长度参数列表:

public void func2(String s1, String ... strings) {

}

答案 2

正如其他人所指出的,你可以使用Varargs:

void myMethod(Object... args) 

这实际上等同于:

void myMethod(Object[] args) 

事实上,编译器将第一种形式转换为第二种形式 - 字节码没有区别。所有参数必须具有相同的类型,因此,如果要使用具有不同类型的参数,则需要使用 Object 类型并执行必要的强制转换。