方法签名中的Java“参数”?

在 C# 中,如果希望某个方法具有不确定数量的参数,则可以使方法签名中的最终参数成为 a,以便方法参数看起来像一个数组,但允许使用该方法的每个人传递调用方所需的该类型的参数数。params

我很确定Java支持类似的行为,但我不知道该怎么做。


答案 1

在Java中,它被称为varargs,语法看起来像一个常规参数,但在类型后面有一个省略号(“...”):

public void foo(Object... bar) {
    for (Object baz : bar) {
        System.out.println(baz.toString());
    }
}

vararg 参数必须始终是方法签名中的最后一个参数,并且像收到该类型的数组一样进行访问(例如 在这种情况下)。Object[]


答案 2

这将在Java中发挥作用

public void foo(String parameter, Object... arguments);

您必须添加三个点,并且参数必须是方法签名中的最后一个点。...varagr