Java1.5 新特性 可变参数

Java1.5的新特性

可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。也就是说,你要定义一个方法,但是不确定有几个参数,就可以定义成可变参数。

定义规则:以  ... 为标识      ...前后有无空格无所谓。

    public void sum(int ...num){
        ...
    }
    
    public void sum(int... num){
        ...
    }

   public void sum(int...num){
        ...
    }

定义可变参数需要注意的问题:

此方法编译会报错,因为当传进参数的时候,会全赋值给可变参数,后面参数就会没有值,所以就会报错

    public void add(int... num, int i) {
        ...
    }

因此必须调换一下位置,将可变参数放在最后面

   public void add(int i,int... num) {
        ...
    }

可变参数的用法,一个简单的求和 例子

    @Test
    public void show() {

        // 调用了两次sum()方法 输出结果是一样的

        int arr[] = { 1, 2, 3 }; // 定义一个数组

       // 调用sum()

        sum(arr); // 传一个数组
        sum(1, 2, 3); // 一个值一个值的传递
    }

     // 定义sum()  

    public void sum(int... num) {

        int sum = 0;
        // 将可变参数当做一个数组来用
        for (int i = 0; i < num.length; i++) {

            sum += num[i];
        }
        System.out.println(sum);
    }

其实java中很多地方都用到了可变参数,比如

Class的方法getDeclaredMethod(String name,Class<?>... parameterTypes) 

Arrays中的方法asList(T... a)   ...

我们在用的时候一定要注意,可变参数的类型问题,是对象类型呢,还是基本数据类型呢


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值