【发布时间】:2014-01-05 17:36:01
【问题描述】:
如果我想找出在 java 中遍历 foreach 循环的次数,有没有比这更好的方法?
int i = 0;
for (Button button : levelBtns) {
button = new Button(160, 40 + (i * 50), 100, 40);
i++;
}
我知道我可以只使用普通的 for 循环并拥有一个迭代器,但我只是想知道是否有更优雅的方法可以使用 foreach 来做到这一点。在此先感谢 :)
编辑:正如 Jon Skeet 指出的那样,上面的代码将新按钮实例分配给迭代变量。哎呀。基于其他cmets,我相信最实用的东西是正常循环。这是我要使用的版本。感谢大家的帮助!
Button[] levelBtns = new Button[6];
for (int i = 0; i < levelBtns.length; i++) {
levelBtns[i] = new Button(160, 40 + (i * 50), 100, 40);
}
【问题讨论】:
-
需要循环内的信息还是循环后的信息?
-
我相信您已经发布了最佳解决方案。但是,如果您担心当前正在进行的迭代,为什么不切换到传统的 for 循环。
-
解决方案完全没问题。
-
我假设
levelBtns是一个数组或某种Collection,因此迭代次数将是lvlButtons.length或lvlButtons.size()? -
无论如何,您的代码目前毫无意义,因为您正在为迭代变量分配一个新值......这没有任何用处。