可变参数

JDK1.5之后引入。

1、语法格式:

【修饰符】 返回值类型 方法名(数据类型... 可变参数){
    
}
【修饰符】 返回值类型 方法名(【其他非可变参数列表,】 数据类型... 可变参数){
    
}

  

一个方法最多只能有一个可变参数

可变参数必须是最后一个

2、可变参数的使用

(1)在声明它的方法中,我们可以当作数组使用

(2)在调用它的时候,

A:非可变参数部分,实参列表与形参列表个数、类型、顺序一一对应

B:可变参数部分,可以传入0~n个实参或可以传入一个对应类型的数组

3、声明为可变参数与声明为数组的区别?

(1)声明为可变参数,更灵活,你可以传0~n个实参,也可以传入数组,

          声明为数组类型,那么调用时只能传入数组对象。

(2)如果同一个类中,出现了两个方法名称相同,形参列表其他非可变参数部分相同,可变参数部分,一个方法是数组,一个方法是可变参数,那么编译器会认为它们不是重载。

int sum(int[] arr){
    ....
}
int sum(int... arr){
    ...
}

  (3)如果同一个类中,出现了两个方法名称相同,都包含可变参数部分,可能会导致调用时报引用不明确

int sum(int a, int... arr){
    //...
}
int sum(int... arr){
    //...
}

  

原文地址:https://www.cnblogs.com/panyizuoshan/p/11448591.html