小编典典

Java中参数类型旁边的3个点是什么意思?

all

以下方法中的 3 个点String是什么意思?

public void myMethod(String... strings){
    // method body
}

阅读 121

收藏
2022-02-28

共1个答案

小编典典

这意味着零个或多个 String 对象(或它们的单个数组)可以作为该方法的参数传递。

请参阅此处的“任意数量的参数”部分: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"});

重要提示: 以这种方式传递的参数始终是一个数组——即使只有一个。确保在方法体中以这种方式对待它。

重要说明 2: 获取的参数...必须是方法签名中的最后一个。所以,myMethod(int i, String... strings)可以,但myMethod(String... strings, int i)不可以。

感谢 Vash 在评论中的澄清。

2022-02-28