Java可变参数(变量)

本文概述

  • Varargs的优势
  • varargs的语法
  • 可变参数规则
  • 无法编译的可变参数的示例
varrags允许该方法接受零个或多个参数。在使用varargs之前, 我们要么使用重载方法, 要么使用数组作为方法参数, 但由于它会导致维护问题, 因此被认为是不好的。如果我们不知道必须在方法中传递多少个参数, 则使用varargs是更好的方法。
Varargs的优势【Java可变参数(变量)】我们不必提供重载的方法, 因此代码更少。
varargs的语法可变参数使用省略号, 即数据类型后的三个点。语法如下:
return_type method_name(data_type... variableName){}

Java中的Varargs的简单示例:
class VarargsExample1{ static void display(String... values){ System.out.println("display method invoked "); } public static void main(String args[]){ display(); //zero argument display("my", "name", "is", "varargs"); //four arguments } }

立即测试
Output:display method invoked display method invoked

Java中的另一个Varargs程序:
class VarargsExample2{ static void display(String... values){ System.out.println("display method invoked "); for(String s:values){ System.out.println(s); } } public static void main(String args[]){ display(); //zero argument display("hello"); //one argument display("my", "name", "is", "varargs"); //four arguments } }

立即测试
Output:display method invoked display method invoked hello display method invoked my name is varargs

可变参数规则使用varargs时, 必须遵循一些规则, 否则程序代码将无法编译。规则如下:
  • 该方法中只能有一个变量参数。
  • 可变参数(varargs)必须是最后一个参数。
无法编译的可变参数的示例
void method(String... a, int... b){}//Compile time errorvoid method(int... a, String b){}//Compile time error

Varargs示例, 它是方法中的最后一个参数:
class VarargsExample3{ static void display(int num, String... values){ System.out.println("number is "+num); for(String s:values){ System.out.println(s); } } public static void main(String args[]){ display(500, "hello"); //one argument display(1000, "my", "name", "is", "varargs"); //four arguments } }

立即测试
Output:number is 500 hello number is 1000 my name is varargs

    推荐阅读