对象的正确术语...参数

2022-09-02 12:47:13

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

public static void someMethod(String[] args)

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

public static void someMethod(Object... args)

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

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

如何引用这种类型的方法签名设置?我认为这很棒,很方便,并希望向其他人解释它,但我不知道如何参考这一点。谢谢。


答案 1

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


答案 2

正如Keppil和Steve Benett所指出的那样,这个java特性被称为varargs。

如果我没有记错的话,Joshua Bloch提到使用varargs的性能受到打击,并建议伸缩和使用varargs方法作为捕获所有水槽。

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
}