黑马程序员技术交流社区

标题: 【广州校区】【原创】可变参数 [打印本页]

作者: 君哥    时间: 2018-10-31 23:54
标题: 【广州校区】【原创】可变参数
1 介绍
在JDK1.5之后,如果我们定义⼀个⽅法需要接受多个参数,并且多个参数类型⼀致,我们可以对其简化成如下格式:

修饰符 返回值类型 ⽅法名(参数类型... 形参名){ },这个写法等价于
修饰符 返回值类型 ⽅法名(参数类型[] 形参名){ }。其中... ⽤在参数上,称之为可变参数。
同样是代表数组,但是在调⽤这个带有可变参数的⽅法时,不⽤创建数组(这就是简单之处),直接将
数组中的元素作为实际参数进⾏传递,其实编译成的class⽂件,将这些元素先封装到⼀个数组中,在
进⾏传递。这些动作都在编译.class⽂件时,⾃动完成了。


2 使用
public class Demo03 {
    public static void main(String[] args) {
        int[] intArr = {1,2,3,4,5};
        add1(intArr);
        System.out.println("--------------------");
        add2(1,2,3,4,5);
    }

    /**
     * 一维数组写法
     */
    public static void add1(int[] intArr){
        int sum = 0;
        for (int i = 0; i < intArr.length; i++) {
            sum += i;
        }
        System.out.println("sum1=" + sum);
    }

    /**
     * 可变参数写法
     */
    public static void add2(int... intArr){
        int sum = 0;
        for (int i = 0; i < intArr.length; i++) {
            sum += i;
        }
        System.out.println("sum2=" + sum);
    }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2