Java中方法内的可变参数怎么使用
Java1.5增加了新特性:可变参数:
适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
可变参数的特点:
(1)、只能出现在参数列表的最后;
(2)、...位于变量类型和变量名之间,前后有无空格都可以;
(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
public class Varable {
public static void main(String [] args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int ...args){
int sum=x;
for(int i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
}
Java1.5增加了新特性:可变参数:
适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
可变参数的特点:
(1)、只能出现在参数列表的最后;
(2)、...位于变量类型和变量名之间,前后有无空格都可以;
(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
public class Varable {
public static void main(String [] args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int ...args){
int sum=x;
for(int i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
}
创建一个工程,或者在已有工程中,创建一个包,写一个类,我命名为Parameters,大家随便。
核心就是这个方法, 把参数is理解成一个数组就是了:
private static void function(int... is) {
for (int i = 0; i < is.length; i++) {
System.out.print(is[i]+" ");
}
}
为了使这个方法更复杂一点点呢,我们可以填一点儿小功能。
比如,我想得到累加值,嘿嘿,很简单的。
方法之初申明一个int类型变量,赋初值为零。for中与数组中每一个值进行累加。如图
好了,写一个很简单的方法测试一下。
main()里面写
function(new int[] { 1, 2, 3, 9, 7,});
最后,运行一下结果,很简单的吧?
当前台有访问此java类中的某一个方法的同时传过来一个值,可变参数接到值之后进行相应的处理。