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