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 次浏览

开启你的职业生涯

完成课程认证

开始
广告