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 必须是最后一个。否则会生成编译时错误。
广告