Java 中的可变参数是什么?

java 8object oriented programmingprogramming更新于 2025/11/20 7:08:17

定义方法时,通常我们会将其接受的参数及其类型指定为 −

myMethod(int a, String b){
}

假设您需要接受多个相同类型的变量,则需要将这些变量依次指定为 −

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

您还可以向方法传递可变数量的特定类型的参数。这些被称为可变参数或 varargs。它们用三个点 (…) 表示。

语法

public myMethod(int ... a) {
  // 方法主体
}

一旦您在调用时使用可变参数作为参数方法,您就可以向此方法传递任意数量的参数(可变数量的参数),或者,您可以直接调用此方法而不传递任何参数。

示例

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 中使用可变参数时应遵循的规则 −

  • 每个方法只能有一个可变参数。如果尝试使用多个可变参数,则会生成编译时错误。

  • 在方法的参数列表中,可变参数必须是最后一个。否则将生成编译时错误。


相关文章