方法签名中的Java"params"?

Oma*_*eji 107 java variadic-functions params method-declaration

在C#中,如果您希望方法具有不确定数量的参数,则可以在方法签名中创建最终参数a params,以使方法参数看起来像一个数组,但允许使用该方法的每个人传递该类型的参数正如来电者想要的那样.

我很确定Java支持类似的行为,但我无法找到如何做到这一点.

Dav*_*ant 190

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

public void foo(Object... bar) {
    for (Object baz : bar) {
        System.out.println(baz.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢,当我在查找其他内容时,我自己发现了这个问题,并且自己来这里回答这个问题. (3认同)

Ste*_*ssi 11

这将在Java中发挥作用

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

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