Java——可变参数
一、 介绍
在Java5中提供了变长参数,允许在调用方法时传入不定长度的参数。变长参数是Java的一个语法糖,本质上还是基于数组的实现,如下
void test(String... args); void test(String[] args);
二、定义
在定义方法时,在最后的一个形参后加入三点...,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。
上述定义有几个要点需要注意:
- 可变参数只能作为方法的最后一个参数,但其前面可以有或没有任何其他参数,因此一个方法最多只能有一个可变参数
- 可变参数本质上是数组,不能作为方法的重载。如果同时出现相同类型的数组和可变参数方法,是不能编译通过的。可变参数可以兼容数组,反之则不成立。
三、使用
public class Test01 { public static void main(String[] args) { System.out.println(getSum(10,20,30)); // 60 System.out.println(getSum(20,10)); // 30 } public static int getSum(int... nums){ int sum = 0; for (int num : nums) { sum += num; } return sum; } }