Java——可变参数

来源:互联网 发布:监理工程师软件app 编辑:程序博客网 时间:2024/05/22 01:40

同一个方法,不同的参数,以前是用重载或者传数组来进行,此博客介绍可变参数

public class test{    public static void main(String[] args){        //方法重载        System.out.println(getSum(1,2));        System.out.println(getSum(1,2,3));        System.out.println(getSum(1,2,3,4));        //问题1: 如何把N个方法变成1个方法        //分析:传递的参数个数是有多个,2,3,4,5        //解决方案一:数组        int[] array1 = new int[]{1,2};        System.out.println(getSum(array1));        int[] array2 = new int[]{1,2,3,4,5};        System.out.println(getSum(array2));        //问题2: 每次都要创建数组不方便        //目标:依然只是一个方法,但是传参的时候可以这样 getSum(1,2);        //解决方案二:可变参数    }    //方案二    public static int getSum(int...ints){        int sum = 0;        for(int i=0;i<ints.length;i++){            sum += ints[i];        }        return sum;    }    //写了上面的可变参数方法后,不能写下面的这种数组的方法    //可变参数的本质依然是数组    // public static int getSum(int[] array){        // int sum = 0;        // for(int i=0;i<array.length;i++){            // sum += array[i];        // }        // return sum;    // }    /*    //原始:重载方法    public static int getSum(int a,int b){        return a+b;    }    public static int getSum(int a,int b,int c){        return a+b+c;    }    public static int getSum(int a,int b,int c,int d){        return a+b+c+d;    }    //方案一    public static int getSum(int[] array){        int sum = 0;        for(int i=0;i<array.length;i++){            sum += array[i];        }        return sum;    }    */}
原创粉丝点击