Java 中的可變引數是什麼?


在定義方法時,一般情況下,我們需要指定它接受的引數型別,如下所示 -

myMethod(int a, String b){
}

假設如果您需要接受多個相同型別的變數,您需要像下面一樣一個接一個地指定變數 -

myMethod(int a, int b, int c){
}

您還可以將特定型別的可變數量的引數傳遞給方法。這些被稱為可變引數或 varargs。它們由三個點 (...) 表示。

語法

public myMethod(int ... a) {
   // method body
}

一旦在引數方法中使用可變引數來呼叫時,您可以向該方法傳遞任意數量的引數(可變數量的引數),或者您只不用傳遞任何引數呼叫該方法。

示例

 現場演示

public class Sample{
   void demomethod(String... args) {
      for (String arg : args) {
         System.out.println(arg);
      }
   }
   public static void main(String args[] ){
      new Sample().demomethod("Ram", "Rahim", "Robert");
      new Sample().demomethod("Krishna", "Kasyap");
      new Sample().demomethod();
   }
}

輸出

Ram
Rahim
Robert
Krishna
Kasyap

示例

 現場演示

public class VarargsExample{
   void demoMethod(String name, int age, int... marks) {
      System.out.println();
      System.out.println("Name: "+name);
      System.out.println("Age: "+age);
      System.out.print("Marks: ");
      for (int m: marks) {
         System.out.print(m+" ");
      }
   }
   public static void main(String args[] ){
      VarargsExample obj = new VarargsExample();
      obj.demoMethod("Krishna", 23, 90, 95, 80, 69 );
      obj.demoMethod("Vishnu", 22, 91, 75, 94 );
      obj.demoMethod("Kasyap", 25, 85, 82);
      obj.demoMethod("Vani", 25, 93);
   }
}

輸出

Name: Krishna
Age: 23
Marks: 90 95 80 69
Name: Vishnu
Age: 22
Marks: 91 75 94
Name: Kasyap
Age: 25
Marks: 85 82
Name: Vani
Age: 25
Marks: 93

在 Java 中使用 varargs 時要遵循的規則 -

  • 每個方法只能有一個可變引數。如果您嘗試使用多個可變引數,則會生成編譯時錯誤。

  • 在方法的引數列表中,varargs 必須是最後一個。否則會生成編譯時錯誤。

更新於: 12-9-2019

558 次瀏覽

開啟你的職業生涯

完成課程認證

開始
廣告
© . All rights reserved.