您可以不向 Java 参数数组传递任何值吗

Can you pass no Values to a Java Parameter Array

大多数人应该知道 Object... objs 将数组作为参数的方法。本质上它只是 Object[] objs。但是我发现了一些功能无法匹配的地方。 (或者我只是不知道怎么做)

//  How does one go about calling this method?
void test(String s, String... strings, String s2) {}

您将如何使用 ... 语法完成此操作?

public static void main(String[] args) {
    foo(new String[] {}); //  foo(new String[0]);
}

static void foo(String[] s) {}

你可以这样做

//  How does one go about calling this method?
void test(String s, String s2, String... strings) {}

但这不是有效的

//  How does one go about calling this method?
void test(String s, String... strings, String s2) {}

摘自https://www.baeldung.com/java-varargs

varargs are straightforward to use. But there're a few rules we have to keep in mind:

  • Each method can only have one varargs parameter
  • The varargs argument must be the last parameter