java 可变参数

java 可变参数 是指参数的个数不确定,但是参数的类型确定,java把可变参数当做数组处理。此外,可变参数必须位于最后一项,只支持有一个可变参数。

  1. 可变参数只能出现在参数列表的最后;

  2. … 位于变量类型和变量名之间,前后有无空格都可以;

  3. 调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。

定义方法例子:
public void fun(int… arr) { }
方法fun()的参数类型为int…,其中“…”不是省略号,而是定义参数类型的方式。参数arr就是可变参数类型。你可以把上面代码理解为:public void fun(int[] arr),但要注意,只有在方法的形参中可以使用int…来代替int[]。

public int sum1(int[] arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }

public int sum2(int... arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }

如何调用包含可变形参的方法:
sum1()和sum2()两个方法的调用:

sum1(new int[]{1,2,3});
sum2(new int[]{1,2,3});

但是对于sum2还有另一种调用方式:

sum2();

sum2(1);

sum2(1,2);

sum2(1,2,3);

等同于:

sum2(new int[0]);
sum2(new int[] {1});
sum2(new int[] {1, 2});
sum2(new int[] {1, 2, 3});

这看起来好像是使用任意多个参数来调用sum2()方法,这就是调用带有可变参数方法的好处了。

原文链接 http://www.jb51.net/article/93949.htm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值