java for循环,只有2个参数,这是怎么回事?
java for循环,只有2个参数,这是怎么回事?
请高手帮忙解答一下,十分感谢。
for(Enumeration e = poolMgr.getResourcePools(); e.hasMoreElements(); ) ‘为什么只有2个参数呢
{
appPool = (ApplicationPool)e.nextElement();
if(appPool != null){
out.print("<LI>" + appPool.getName());
out.println("Count : " +(count++));
out.print("<pre>");
appPool.dumpPoolStatistics(new PrintWriter(out));
out.print("</pre>");
out.print("</LI>");
}
}
[解决办法]
for 循环没有规定三个参数都是必输的,但是为了区别参数的位置, 分号 ;还是要有的.
LZ 这个例子是一个迭代
我举个别的例子
int i=0; for(;i<10;i++){ System.out.println(i); }
[解决办法]
这里还是有三个参数 只不过第三个参数为空而已
因为这句
appPool = (ApplicationPool)e.nextElement();
已经使循环控制变量e移动到下一个节点了
所以就不需要for的第三个参数来控制其移动了
[解决办法]
首先把poolMgr.getResourcePools(); 值赋给Enumeration e 对象,
后面判断是否存在下一个值
相当于以下写法
Enumeration e = poolMgr.getResourcePools(); while(e.hasMoreElements()){ .....}
[解决办法]
for的语法,for(初始化; 条件判断; 循环后处理)
每个部分都可以省略,但是;要保留
如,无限循环
for(;;) { System.out.println("loop");}
[解决办法]
举个例子给你啊 for(iterater iter=list.iter;iter.hasnext;){
Map map=iter.next();
进行取值操作
}
这里用到了java的一个iterate迭代器进行遍历,也是2个参数
[解决办法]