Java可变参数系统方法与数组实现方法

前言:
可变参数 之后是JDK1.5之后支持的新特性,可以在确定 了数据类型之后。无法确定参数个数的情况下使用,切记一定是先确定了数据类型之后,并且数据类型统一才行。

实现原理

可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的
数组,来存储这些参数传递的参数个数,可以是0个(不传递)1,2,3个多个.

实例

 声明一个累加的方法,但是累加参数的个数是不确定的。
 例如:a+b+c,
 			a+b,
 			a+b+c+d
 			也可能是更多个参数相加(要求只能使用一个方法实现以上所有需求)

系统自带(可变参数实现)

   /*
    使用可变参数方式,实现不确定参数的累加方法
    * 定义计算(0-n)整数和的方法
    * 已知:计算整数的和,数据类型已经确地int
    * 但是参数个数不确定,可以使用可变参数
    * */
    public static int add(int ... arry){
       // System.out.println(arry);
        int sum=0;//和
        for (int i = 0; i < arry.length; i++) {
            sum+=arry[i];
        }
        return sum;
    }

自定义(数组实现)

    /*
    使用数组实现,不确定参数的累加方法。
     * 定义计算(0-n)整数和的方法
     * 已知:计算整数的和,数据类型已经确地int
     * 但是参数个数不确定,可以使用数组
     * */
    public static int addArray(int[] arry){
        // System.out.println(arry);
        int sum=0;//和
        //判断数组是否为空
       if(arry.length!=0){
            for (int i = 0; i < arry.length; i++) {
                sum+=arry[i];
            }
        }

        return sum;
    }

总结

对比系统自带的可变参数和自己写的那个数组的实现方法,还是系统自带的要好用,目前不是比较那个更加优。而是 锻炼自己能不能使用其他的方式,把这个原理给实现了。虽然没有全部实现,只是实现了一部分,自定义的实现方式不能没有参数。所以这是一个缺点,还需要继续优化。

posted @ 2020-09-01 15:21  康世行  阅读(77)  评论(0编辑  收藏  举报