我在java代码中看到了“T ... elements”。 那是什么意思? 谢谢!
答案 0 :(得分:7)
这意味着,您可以将所需的所有T变量传递给方法。
如果方法是:
public void myMethod(String... a)
{
}
您可以使用所需的所有String对象进行调用:
myMethod("s1");
myMethod("s1", "s2");
myMethod("s1", "s2", "s3");
myMethod("s1", "s2", "s3", "s4");
Here's关于该语言功能的Java官方文档。它是在 Java 5 中引入的。
答案 1 :(得分:7)
这意味着您可以将0个或更多元素传入方法。
您可以这样使用它:
public void method(String str, int... elements) {
for (int i = 0; i < elements.length; i++) {
print(str + " " + elements[i];
}
}
并且,您可以这样称呼它:
method("Hi");
method("He", 1, 2 , 3, 4, 5);
method("Ha", 1 , 2);
int[] arr = {1, 2 , 3 ,3 ,4};
method("Ho", arr);
答案 2 :(得分:2)
它是T(T[]
)数组的占位符,其中数组本身可以指定为t1,t2,t3等,其中所有ts都是T类型。
CF:http://download.oracle.com/javase/1.5.0/docs/guide/language/varargs.html
答案 3 :(得分:2)
用于方法声明:
void someMethod(String... strings) {
//blabla method body
}
表示可以将字符串数组作为参数,或者用逗号分隔的字符串。这两个电话都有效:
someMethod("a", "b", "c");
String[] stringsArray = new String[] {"a", "b", "c"};
some Method(stringsArray);
答案 4 :(得分:1)
这意味着您可以传入0个或更多对象T的实例。您可以将这些参数作为数组访问。
示例:
public void printStrings(String... strings)
{
for (String string : strings) {
System.out.println(string);
}
}
然后,您可以使用以下任何一种调用来调用此方法:
printStrings("one", "two", "three", "four");
printStrings(new String[] { "one", "two", "three", "four" } );
printStrings(/* any array of strings, even an empty array */);
在你的情况下。 T ...意味着你可以传入任意数量的T类实例,这是一个应该在类文件顶部定义的泛型。