18

我正在使用 Java,为方法指定多个参数的典型方式是:

public static void someMethod(String[] args)

但是,我见过几次另一种方式,即使是在标准 Java 库中也是如此。我不知道如何在对话中提及这一点,由于使用的字符,谷歌搜索没有多大帮助。

public static void someMethod(Object... args)

我知道这使您可以将一堆或参数串入一个方法中,而无需提前确切知道可能有多少,例如:

someMethod(String arg1, String arg2, String arg3, ... etc

您如何参考这种类型的方法签名设置?我认为这很好,很方便,想向其他人解释一下,但我不知道如何参考。谢谢你。

4

3 回答 3

18

这种表达参数的方式称为varargs,并在 Java 5 中引入。您可以在此处
阅读有关它们的更多信息。

于 2013-05-21T15:43:06.377 回答
6

正如 Keppil 和 Steve Benett 所指出的,这个 java 特性被称为可变参数。

如果我没记错的话,Joshua Bloch 提到使用 varargs 会降低性能,并建议使用可伸缩的 varargs 方法作为 catch all sink。

public static void someMethod(Object arg) {
    // Do something
}

public static void someMethod(Object arg1, Object arg2) {
    // Do something
}

public static void someMethod(Object arg1, Object arg2, Object arg3) {
    // Do something
}

public static void someMethod(Object ... args) {
    // Do something
}
于 2013-05-21T17:24:02.667 回答
5

调用 Parameter 方法(Object... args)varargs。试试这个链接

于 2013-05-21T15:44:36.873 回答