Java 中的 ... 参数

Rupam Yadav 2023年10月12日
  1. 在 Java 中的方法中使用 Varargs 接受可变数量的参数
  2. 在 Java 中使用具有多种类型参数的 Varargs
Java 中的 ... 参数

三点 ... 运算符通常称为 Varargs,它是 Variable-length Arguments 的缩写。JDK 5 中引入了可变参数以简化使用可变数量的参数。在此之前,我们不得不使用重载或将参数放入一个效率不高的数组中。在以下示例中,我们将了解如何充分利用 Varargs。

在 Java 中的方法中使用 Varargs 接受可变数量的参数

在这个程序中,我们创建了一个名为 functionWithVarArgs() 的静态方法,并将接收参数的类型设置为 String 后跟三个点和参数名称 str,这意味着我们可以传递任意数量的 String 输入参数。

functionWithVarArgs() 方法中,我们创建了一个增强的 for 循环,用于打印每个 str 值。在 main() 函数中,我们首先在 functionWithVarArgs() 函数中传递四个参数,然后再次使用三个参数调用相同的函数。输出显示所有传递的参数。

public class Main {
  public static void main(String[] args) {
    functionWithVarArgs("String 1", "String 2", "String 3", "String 4");
    functionWithVarArgs("String A", "String B", "String C");
  }

  static void functionWithVarArgs(String... str) {
    for (String s : str) {
      System.out.println(s);
    }
  }
}

输出:

String 1
String 2
String 3
String 4
String A
String B
String C

在 Java 中使用具有多种类型参数的 Varargs

要使用 Varargs,我们必须遵循一些规则;第一条规则是 Varargs 必须是最后一个参数,否则编译器会抛出错误,第二条规则是方法中不能有多个 Varargs。

在下面的代码中,我们传递了两种类型的参数,其中 strString 类型并且只是一个参数。functionWithVarArgs() 方法的最后一个参数是 int 类型的 Varargs。现在在 main() 中,我们使用第一个参数作为单个值调用函数,第二个参数可以是可变长度的,因为它是 Vargargs

public class Main {
  public static void main(String[] args) {
    functionWithVarArgs("String 1", 1, 2);
    functionWithVarArgs("String A", 10, 20, 30, 40);
  }

  static void functionWithVarArgs(String str, int... num) {
    for (int n : num) {
      System.out.println(n);
    }
  }
}

输出:

1
2
10
20
30
40
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn