Skip to content

可变长度参数

可变长度参数(varargs)是 Java 提供的一种语法糖,用来让方法可以接收不定数量的参数,本质上底层还是数组。

基本用法

java
public void printNums(int... nums) {
    for (int num : nums) {
        System.out.println(num);
    }
}
java
printNums(1);
printNums(1, 2, 3);
printNums(); // 也可以不传

int... nums其实就是:

int[] nums

也就是说你也可以这样调用:

java
printNums(new int[]{1, 2, 3});

其他规则

  • 只能有一个可变参数
java
// ❌ 错误
public void test(int... a, int... b) {}
  • 必须放在参数列表最后
java
// ❌ 错误
public void test(int... a, String b) {}

// ✅ 正确
public void test(String b, int... a) {}
  • 可以和普通参数一起使用
java
public void test(String name, int... scores) {
    System.out.println(name);
    for (int s : scores) {
        System.out.println(s);
    }
}