可变参数

(jdk1.5以后的新特性)

 

使用前提

当方法的参数列表数据类型已经确定,但是参数的个数不确定,可以使用可变参数。

使用格式: (定义方法时使用)

修饰符 返回值类型 方法名(数据类型...变量名){

//方法体

}

原理:

可变参数底层是一个数组,根据传递参数个数的不同,会创建不同长度的数组来存储这些数据。

public static void main(String[] args) {
   int sum=sum_n(5,15,25);
    System.out.println(sum);//45

}
//一个例子,计算n个整数的和
public static int sum_n(int...arr){
    int sum=0;
    for(int i=0;i<arr.length;i++){
        sum+=arr[i];
    }
    System.out.println(arr);//[I@4554617c数组的首地址
    System.out.println(arr.length);//3数组的长度
    return sum;
}

 

注意事项:

1.一个方法的参数列表只能有一个可变参数;

2.如果方法的参数有多个,那么可变参数必须写在参数列表的末尾;

3.可变参数的特殊写法

修饰符 返回值类型 方法名(Object . . .obj){

//可以接收任意类型的数据

}

原文地址:https://www.cnblogs.com/susexuexi011/p/13866049.html