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

对jdk5.0和jvm比较有研究的请进。
public   class   Test   {

public   static   void   main(String[]   args)
{
MethTool.sum(2,3,45,5,6,342,324);
System.out.println();
}
}

class   MethTool
{
static   int   sum(int...   nums)
{
int   result=0;
for(int   i:nums)
{
result+=i;
}
return   result;
}
}

我想知道int...   nums这个是怎么实现的,在jvm里是怎么样的一个动作?

------解决方案--------------------
jvm会把执行期的参数,放到一个int[]类型的nums里面,就是说nums是一个int[]类型的变量!
你甚至可以理解把
sum(i, j, k);
为:
sum(new int[]{i, j, k});