对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});