读书人

对jdk5.0和jvm比较有研究的请进。该怎

发布时间: 2012-03-23 12:06:21 作者: rapoo

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

读书人网 >J2SE开发

热点推荐