本文共 953 字,大约阅读时间需要 3 分钟。
可变参数:是jdk1.5后出现的新特性
1.什么时候需要使用可变参数?
在已经确定了参数的类型,但不知道要输入多少个参数的时候,可以使用可变参数
2.可变参数的格式 : 修饰符 返回值类型 方法名字(数据类型 ...变量名) 如 int ...i
这样就创建了一个名字叫i的数组
3.可变参数的原理?
可变参数的底层是一个数组,也就是你创建一个数组来存储了你的变量(可变参数),存入参数的时候确定数组的长度。可传递的可变参数的数量为0-n个
4.下面有一个例子
我要定义n个整数相加的方法,但我不确定n是多少,有时候是2个有时候用到10个参数,这个时候我就可以用可变参数,数据类型为int
代码如下:
//可变参数应用
public class VariableParameter {
public static void main(String[] args) {
/*
我要定义n个整数相加的方法,但我不确定n是多少,有时候是2个有时候用到10个参数
,这个时候我就可以用可变参数,数据类型为int
*/
int d=add(10,50,100,500);//因为是可变参数所以我这里可以添加 无限个参数
System.out.println(d);
}
public static int add(int ...arr){//可变参数 数据类型 ...变量名字 / int ...arr
int sum=0;
for(int j:arr){//可变数组其实就是创建了个变量为arr的数组来让你传参,所以可以用增强for循环
sum+=j;//累加求和
}
return sum;//返回和
}
}
记得可变参数的底层是数组,通过 int ...arr 其实就是创建了个名字叫arr的数组!
5.可变参数的注意事项
一个方法里面只能够有一个可变参数,也就是说不允许有(int ...i,String ...s)这样的情况出现,不可以有1个以上的可变参数但是允许存在普通的传参例如(int j,String s,int ...i)但可变参数一定要写在最后不然的话就会报错。
演示例子如下:
这里报错是因为一个方法里面存在两个可变参数
这里是因为不把可变参数写在最后面
正确的写法如下:
希望文章对你有帮助
转载地址:http://haiox.baihongyu.com/