日期:2014-05-20  浏览次数:20631 次

新人吐血第3季:带有var-arg参数的方法,这种方法是如何在自己的方法体内去用到这个var-arg参数的呢?
1.代码: void yumen(int...z){ }
--------------------------------------------------------------
2.问题:

那个{ }里放点什么代码才能用上()里的参数呢?也就是说让这个(int...z)能有意义。(对,就象许三多说的一样,要有意义。。。我看这种var-arg参数我就晕,我在书里看了看,我实在太笨了,我不知道这种参数有啥好...茫然)

--------------------------------------------------------------
注意:
1.怎么回答都行,能让俺理解就可以,或者干脆告诉我<<var-arg参数的意义>>也行。您看这办,如果问题太抽象,我会再补充。谢谢
2.我很笨,所以我目前只理解这种非var-arg方法和参数: void hehe(int x,int y){x=2;y=3;System.out.println(x,y);}
---------------------------------------------------------------------------


------解决方案--------------------
void yumen(int...z){ } 可以看成 void yumen(int[] z){},当然不能把直接数组作为参数传进来,要分开写

举个例子
void printSum(int...z){
int sum = 0;

for (int i : z) {

sum += i;

}

System.out.println(sum);
}

------解决方案--------------------
如果又同时有相同名字的非Vararg的函数,优先匹配非vararg函数。
------解决方案--------------------
呵呵!那个是jdk5新增加的。

比如
// 这个也是合法的主方法声明格式
public static void main(String.. args){

}