本帖最后由 王飞 于 2012-7-16 16:11 编辑
public class aa {
/*可变参数:
1,只能出现在参数列表最后
2,...位于变量类型和变量名之间
3,调用可变参数方法时,编译器为该可变参数隐含的创建一个数组,在方法体中以数组的方式访问可变*/
public static void main(String[] args) {
int[] a = new int[]{1,2,3};
System.out.println(method2(a));
double[] b = new double[3];
//调用不了。为什么??????
System.out.println(method(1,b ,3,4,5)); //第一个参数接受的是int类型变量,第二个参数接受的是double数组,第三个和后面的是可变参数
}
//这个方法没有报错,那么请问在调用这个方法时传入相应的参数为什么不行?
public static int method(int a ,double b,int...args)//------如果此处的第二个参数接收的是数组,第三个参数是可变参数,
//那么,调用时给第一个参数传一个数字,第二个参数传一个数组,第三个参数任意传入一个或者多个
{
int sum = a;
for(int x = 0; x<args.length;x++)
{
sum += args[x];
}
return sum;
}
public static int method2(int[] args)
{
int sum = 0;
for(int x = 0; x<args.length;x++)
{
sum += args[x];
}
return sum;
}
}
|