以下方法中String
后面的3个点是什么意思?
public void myMethod(String... strings){
// method body
}
以下方法中String
后面的3个点是什么意思?
public void myMethod(String... strings){
// method body
}
这意味着可以将零个或多个字符串对象(或它们的单个数组)作为该方法的参数传递.
请参阅此处的"任意数量的参数"部分:http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs
在您的示例中,可以将其称为以下任意一种:
myMethod(); // Likely useless, but possible
myMethod("one", "two", "three");
myMethod("solo");
myMethod(new String[]{"a", "b", "c"});
Important Note:以这种方式传递的参数始终是一个数组——即使只有一个.确保你在方法体中以这种方式对待它.
Important Note 2:获得...
的参数必须是方法签名中的最后一个.myMethod(int i, String... strings)
可以,但myMethod(String... strings, int i)
不行.
感谢瓦什在 comments 中的澄清.