一尘不染

Java,参数中有3个点

java

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

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

阅读 562

收藏
2020-02-26

共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在他的评论中的澄清。

2020-02-26