标题: 可变参数 [打印本页] 作者: 刘泰 时间: 2012-3-30 22:29 标题: 可变参数 可变参数是JDK1.5以后的新特性,可变参数
例如:public 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[i];
}
return sum;
}
}
也可以这样用 System.out.println(sum(2,int【】{1,2,3,4,5}));
能不能抢到呢?嘿嘿作者: 刘_浩 时间: 2012-3-31 01:08
有问题吧, public static int sum(int x,int ...number)这里是方法,number只是一个int型的参数,number.length 这里的number是一个数组,前后两个number的类型对不上。是吗?作者: 姚伟涛 时间: 2012-3-31 09:09
你打印的number类型和你的sum(int x,int...number)类型不相同,报错不能打印
System.out.println(sum(2,5,5,6));
结果:18 作者: 袁野 时间: 2012-3-31 10:22
。。。可变参数。你这里还可以使用增强for循环
由于我的本子按键不好就不做演示了作者: yangshang1 时间: 2012-3-31 17:50
public 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[i];
}
return sum;
}
}
是这意思作者: 如梦初醒 时间: 2012-3-31 21:22
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));的调用等价。作者: 刘泰 时间: 2012-4-4 19:19
liuhao411 发表于 2012-3-31 01:08
有问题吧, public static int sum(int x,int ...number)这里是方法,number只是一个int型的参数,number. ...