2010-09-01 76 views

回答

7

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

如果一个方法是:

public void myMethod(String... a) 
{ 

} 

您可以拨打电话与您要该方法的所有字符串对象:对语言功能

myMethod("s1"); 
myMethod("s1", "s2"); 
myMethod("s1", "s2", "s3"); 
myMethod("s1", "s2", "s3", "s4"); 

Here's Java的官方文件。它被引入Java 5

7

那就是'var args' specifier

这意味着您可以将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

它在方法声明中使用:

void someMethod(String... strings) { 
    //blabla method body 
} 

意味着你可以把字符串的数组作为参数,或由字符串逗号分隔。这两个调用都是有效的:

someMethod("a", "b", "c"); 

String[] stringsArray = new String[] {"a", "b", "c"}; 
some Method(stringsArray); 
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的实例,这是一个通用的类,应该在类文件的顶部定义。