Java 对象的正确术语。。。args

Java 对象的正确术语。。。args,java,methods,args,Java,Methods,Args,我使用Java,为一个方法指定多个参数的典型方式是: public static void someMethod(String[] args) 但是,我有几次看到了另一种方法,即使是在标准Java库中。我不知道如何在对话中提及这一点,而且由于使用了这些字符,谷歌搜索也没有多大帮助 public static void someMethod(Object... args) 我知道这允许您将一组或多个参数串入一个方法,而无需提前知道可能有多少个参数,例如: someMethod(String a

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

public static void someMethod(String[] args)
但是,我有几次看到了另一种方法,即使是在标准Java库中。我不知道如何在对话中提及这一点,而且由于使用了这些字符,谷歌搜索也没有多大帮助

public static void someMethod(Object... args)
我知道这允许您将一组或多个参数串入一个方法,而无需提前知道可能有多少个参数,例如:

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

如何引用这种类型的方法签名设置?我认为这很好,也很方便,我想向其他人解释一下,但我不知道该怎么说。谢谢。

这种表示参数的方法称为varargs,是在Java 5中引入的。

您可以阅读更多有关它们的信息。

参数方法(Object…args)称为
varargs
。试试这个。

作为一个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
}

请参见类似于C/C++main的内容functions@huseyintugrulbuyukisik ? 在C/C++中,主函数是
main(void)
main(int-argc,char*argv[])
。。。不太一样。。。除非我遗漏了什么?+1对这段对话很好的补充。我认为这是Jashua Bloch的链接:有道理,而且这似乎是一个考虑到性能的varags的好方法。