java中的'...'是什么?

use*_*369 4 java parameters

可能重复:
此方法签名的省略号是什么?

我在java代码中看到了"T ... elements".那是什么意思?谢谢!

Pab*_*ruz 7

这意味着,您可以将所需的所有T变量传递给方法.

如果方法是:

public void myMethod(String... a)
{

}
Run Code Online (Sandbox Code Playgroud)

您可以使用所需的所有String对象进行调用:

myMethod("s1");
myMethod("s1", "s2");
myMethod("s1", "s2", "s3");
myMethod("s1", "s2", "s3", "s4");
Run Code Online (Sandbox Code Playgroud)

这是关于该语言功能 Java官方文档.它是在Java 5中引入的.


jjn*_*guy 7

那就是'var args'说明符.

这意味着您可以将0个或更多元素传入方法.

你会像这样使用它:

public void method(String str, int... elements) {
    for (int i = 0; i < elements.length; i++) {
        print(str + " " + elements[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

并且,您可以这样称呼它:

method("Hi");
method("He", 1, 2 , 3, 4, 5);
method("Ha", 1 , 2);
int[] arr = {1, 2 , 3 ,3 ,4};
method("Ho", arr);
Run Code Online (Sandbox Code Playgroud)