ublic class Number
{
public static void main(String[] args)
{
System.out.println(sum(2,5,5,6));
}
public static int sum(int x,int ...number){//int ... number 定义一个可变参数
int sum = x;
for(int i = 0 ;i < number.length ; i++){//创建可变参数的时候,编译器会
//隐含的创建一个数组,所以对可变参数的操作,和对数组的操作相同
sum += number;
}
return sum;
}
}
也可以这样用 System.out.println(sum(2,int【】{1,2,3,4,5}));
能不能抢到呢?嘿嘿
我的回答[
我认为这是可以的 public static void main(String[] args)都可以写成 public static void main(String... args) ,
System.out.println(sum(2,int[]{1,2,3,4,5}));在向 public static int sum(int x,int ...number)传入参数的时候写成 System.out.println(sum(2,(Object)int[]{1,2,3,4,5}));
(Object)int[]{1,2,3,4,5}用来说明传入的是一个整体的数组对象,传入 public static int sum(int x,int ...number)后, public static int sum(int x,int ...number)对(Object)int[]{1,2,3,4,5}进行拆包,可与 System.out.println(sum(2,5,5,6));的调用等价。 |