介绍
在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数。变长参数是 Java 的一个语法糖,本质上还是基于数组的实现,增加了编程一定的自由度。
举例
一、普通数组:
普通参数的用法如下:
1 | // 普通数组的用法 |
需要注意的是这种情况下使用sum(1,2,3)是会发生错误,所以只能通过sum(new int []{1,2,3,4})调用。
二、可变参数
可变参数的用法如下:
1 | //可变参数的用法 |
和数用数组作为参数相比,调用方法:sum(1,2)、sum(1,2,3)、sum(new int []{1,2,3,4})都可以。
三、需要注意的点
一个函数只能有一个可变参数,同时定义两个可变参数会报错
当函数既有可变参数又有普通参数时,可变参数放在最后面
1
2
3
4
5//如果有其他参数,可变参数需要放在最后
public static void fun(String str,int... nums){
if(nums!=null&&nums.length!=0)
System.out.println(str+nums[0]);//只是举例无实际意义
}可变参数可以不输入,如上面的
fun函数,可以直接fun("nihao")进行调用,但是如果参数是数组不能这样调用
总结
可变参数的本质还是利用数组进行传参,不过在使用方式上有些许不同,可以自己不使用,但是看到别人写这样的代码还是需要知道是什么。